Mark Miller

CodeRush for Roslyn (Preview), version 16.1.4

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:

    SolutionOpenTimes_5B02F3E5[1]

  • Significantly Lower Memory Use:

    MemoryUse_44DB2064[1]

And developers are reporting similar results on twitter:

SolutionOpenTimesCensored

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):

Target Picker

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.

TargetPicker

Reference Filtering

The Reference window now lets you optionally filter results by usage - Read, Write, or Instantiation:

ReferenceFiltering

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:

JumpToImplementedAPI

XAML Enhancements

  • The Optimize Namespace References refactoring is now available for XAML namespaces:

    Optimize
  • Templates for XAML are now shipping:

     XamlTemplates

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.

Other Improvements

  • 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.

Published Jun 22 2016, 10:00 AM by
Bookmark and Share

Comments

Brian Morale

Mark,

What is the status of adding HTML / JavaScript support to the new version of CodeRush? These are features I use daily.

June 23, 2016 7:25 AM

Mark Miller (DevExpress)

Hi Brian,

For the first release CodeRush for Roslyn will not include new features targeting HTML/JavaScript, however we expect to bring more CodeRush templates, navigation, refactoring, and code modification features for HTML, JavaScript and TypeScript in the 16.2 and later releases.

June 23, 2016 9:46 AM

Ron Stahl

Is there a way to turn off the Code Issues for the spell checker?

June 23, 2016 5:01 PM

Vito (DevExpress Support)

Hello Ron,

We will consider implementing some sort of filter in the CodeIssues window to hide SpellChecker issues there.  In the meantime, I suggest disabling the SpellChecker service:

1. From the VisualStudio menu, select "CodeRush\Options..." .

2. In the tree view on the left, navigate to this folder:

           Editor

3. Select the "Spell checker" options page.

4. Deactivate the "Enabled" option.

June 29, 2016 5:27 AM

About Mark Miller (DevExpress)

Mark Miller is a C# MVP with strong expertise in decoupled design, plug-in architectures, and great UI. Mark is Chief Architect of the IDE Tools division at Developer Express, and is the visionary force behind productivity tools like CodeRush and Refactor!, as well as the DXCore extensibility layer for Visual Studio. Mark is a popular speaker at conferences around the world and has been writing software for over two decades.
LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2017 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners