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:
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:
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.
(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.
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.