First, a quick update on where we are and how we got here: About a year ago I announced that the CodeRush team had been working on a new project, CodeRush for Roslyn. A new version of CodeRush that relied upon the Roslyn engine instead of our own parser. The architectural shift yielded two primary benefits:
- Significantly Faster Performance:
- Significantly Lower Memory Use:
And developers are reporting similar results on twitter:
In the last year we’ve ported hundreds of features from CodeRush Classic, maintaining our focus and priority on faster performance and low memory use. During this time CodeRush for Roslyn (Preview) has been available as a free download from the Visual Studio Gallery, and we received valuable feedback from our customers. Thank you for that.
In this release, version 16.1.4, we get a step closer to the first official release. In July we expect to make one more preview available, and shortly after that we expect to ship.
Here are the new features in 16.1.4 (Preview):
Now you can quickly select the target location for new methods, events, properties, fields, and constants. Just press the up and down arrows to move the target picker up and down, and press Enter to declare at the specified location.
The Reference window now lets you optionally filter results by usage - Read, Write, or Instantiation:
Jump to Implementation
Now you can jump to the implementation of ancestor overrides and implemented interfaces, available through the “Implemented API” option in the Jump To menu:
- The Optimize Namespace References refactoring is now available for XAML namespaces:
- Templates for XAML are now shipping:
New Refactorings and Code Providers
- Add Missing Constructors – Adds the default constructor and all constructors specified by parent types to the current class.
- Add to Interface – Adds a member to an interface that is already implemented by the current class.
- Declare Field/Property with Initializer – Generates a field of the appropriate type for the selected parameter.
- Introduce Format Item – Creates a new String.Format item from a selected string part.
- Move Declaration Near Reference – Moves a local variable declaration to the line of code that is closest to its first usage.
- Move Initialization to Declaration – Combines separate variable declaration and initialization statements into a single statement.
- Split Initialization From Declaration – Separates a single-statement variable declaration and initialization into two separate declaration and initialization statements. This refactoring is useful for conditional initialization, or when you want to widen the scope of the declaration.
- The Code Issues window can now show Visual Studio code analysis results instantly without refreshing the list.
- The Spell Checker now reports misspelled words in the Code Issues window.
- You can now export your Roslyn settings and import settings from CodeRush Classic using the CodeRush | Support | Import and Export Settings… command.
Try it Yourself
Give CodeRush for Roslyn (Preview) a try. The preview edition is free. Let us know what you think, and what we can do to make the experience better.