As we’re in the final stretch for the first official CodeRush for Roslyn release, today we offer what may be our final pre-release for you to test-drive. Here’s what’s new and improved in this version:
In this version we introduce code analysis through the Code Issues window, showing potential logic errors and code smells found in the code. Just open your solution, bring up the Code Issues window, and click Refresh to analyze your code.
Code Style gets an update with new options for:
- Implicit/explicit declaration of local variables
- Visibility modifiers (always specify or remove if possible)
- Prefer CLR type name or language-specific keywords (e.g., int, string, bool)
- Use this/me qualifier for members
Styles are applied automatically when executing refactorings or expanding CodeRush templates. We have also linked the following code cleanup providers to the code style rules:
- Apply variable declaration style
- Apply built-in type style
- Apply ‘this’ qualifier style
- Apply visibility style
And we’ve added new naming conventions for newly-declared identifiers.
Two new XAML navigation providers:
- Go to Source – Opens the resource dictionary for the active reference when you press F12.
- Find Usages – Helps you quickly navigate to a particular resource reference.
In this version you can import/export your CodeRush for Roslyn settings.
The Test Runner now supports multiple test sessions:
This is a convenient way to group collections of related tests and run them independently. Just right-click on one of the test or fixture icons in the tree list and choose “Add to session”.
The Decompiler is now its own standalone executable, which means you can use the Decompiler outside of Visual Studio. The executable is located in the "Decompiler" folder inside the CodeRush for Roslyn Extension folder (which typically has a uniquely generated folder name). To find this folder quickly, from Visual Studio use the CodeRush | Support | Extension Folder... menu item.
Symbol and File navigation windows are more responsive. When they appear start typing for what you are looking for and they’ll populate with entries matching your filter.
The navigation windows also include a few minor visual tweaks to improve clarity.
Refactorings and Code Providers
We have added the following refactorings and code providers:
- Convert to Constant – convers a variable or field into a constant.
- Create Backing Store – converts an auto-implemented property to a property that encapsulates a private field (the field backing store is created automatically).
Organize Members now allows you to configure the amount of line breaks between groups and between members. In this release it is also possible to configure Organize Members so that it removes existing line breaks.
The Expression Map has been ported from CodeRush Classic:
Also, strings containing long file paths are now trimmed so that the beginning and end of the path are always visible.
- Argument insertion can now be disabled for method calls created by IntelliRush.
- Optional parameters are no longer inserted into method calls.
- Constructor overloads are now listed in the IntelliRush overloads menu:
It’s finally here. The feature that gives C# developers the smallest gain, hundreds of times a day. With this C# feature enabled, CodeRush for Roslyn automatically places a semi-colon at the end of the expression when a semi-colon is manually typed inside an expression.
- Code view sections in both the Decompiler and Code Coverage windows include line numbers.
- Selection Embedding is now available from the “light bulb” menu, which can be invoked using the Ctrl+~ or Ctrl+. hotkeys.
- The CodeRush menu gains the following items:
- CodeRush Logs (used to quickly open the logs folder in Windows Explorer)
- Extension Folder (used to quickly open the root extension folder in Windows Explorer)
- Shortcuts (opens the shortcuts options page)
- Code Templates (opens the code templates options page)
Give it a Try
Download the latest CodeRush for Roslyn preview from the Visual Studio Gallery. Try it out and let us know what you think.