CodeRush for Roslyn update, version 16.1.8

Mark Miller
01 November 2016

The 16.1.8 CodeRush for Roslyn update contains important new productivity features for Visual Studio.

Smart Duplicate Line

This is a feature you’ll definitely want to play with. Smart Duplicate Line duplicates the active line, and inserts Text Fields into the duplication to make modification easier. The feature learns your preferences as you use it, so it gets smarter (and saves you more work) over time.

To use Smart Duplicate Line, place the caret on any line and press Shift+Enter.

Here are a few examples of Smart Duplicate Line:



Decompose Parameter

This is a refactoring we’ve had in CodeRush Classic, but we’ve just now ported it to CodeRush for Roslyn. This is a very powerful refactoring that allows you to easily change the types of the parameters passed into a method, which can make the method is more widely accessible, promoting reuse.

For example, you might have a method that accepts a large high-level class called “Person”, but inside that method you only access the Age property of that person. Decompose Parameter can simplify that method so it only accepts a numeric Age parameter, and update all calling locations.

Here’s another example. I have a method called GetDistance that accepts two System.Windows.Points, but that parameter type ties the method down to a particular platform. To make this code more flexible and encourage reuse, we can apply Decompose Parameter to both of those Points, turning those parameters into doubles, so this method can be called from any app running on any platform:



XAML Features

  • XAML Code Formatting
  • Import All Types (declares all necessary namespace references needed by the XAML file)

Refactorings, Code Providers, and Code Formatters

  • Break Apart or Line Up both Parameters and Arguments – either collapses a list of method parameters or passed-in arguments into a single line, or breaks them apart into separate lines (one for each parameter or argument).
  • Remove Type Qualifier – removes the explicit namespace definition from symbol usage and adds the corresponding namespace reference to the file's using/imports list. You can use it on a single identifier, on all identifiers in the current file, or as a code cleanup rule.
  • Decompose Parameter (discussed above and shown below)

  • Extract String to Resource – Adds a string literal to an existing RESX file (creating the new RESX if necessary), and replaces the string with the resource link. You can also optionally extract all string literals within a method or accessor.
  • Declare Parameter – Adds the selected identifier to the method signature and updates all usages.

Unit Testing

Code Coverage now supports .NET Core test cases.

Give It a Try

As always, thanks for your support.

You can grab a shiny new install of CodeRush for Roslyn from the Visual Studio Gallery. CodeRush for Roslyn starts at US$49 for the community support edition. A CodeRush license entitles you to a never-expiring product with a full year’s worth of updates. Updates happen approximately every 45 days.

If you already have CodeRush for Roslyn installed you can check the CodeRush About box for version – make sure it’s at least 16.1.8. If it’s lower, use Visual Studio’s Tools | Extensions and Updates dialog to get the latest updates.

You can see our full What’s New release history here.

FREE DevExpress Xamarin UI Controls

Deliver high-impact native mobile apps with our feature-rich Data Grid, Scheduler, Chart, TabView, Editors, and utility controls. Reserve your free copy today!
Tomas Juricek 3443
Tomas Juricek 3443

Mark, can Dx do a table with comparision of CR Classics a CR for Roslyn features? I mean available refactorings e.t.c..

As a long term advanced CR user I would like to see if I can try tu use CRR or if CRR is missing some important features for me.

2 November 2016
Juergen Vogel
Juergen Vogel

agree with karel.

a comparison would be great!

3 November 2016

Please login or register to post comments.