Performance - Performance has been improved in the code parser and the type inferrence modules.

CodeRush

New Features

Language Helper- ";" characters are removed when typed at the end of lines in VB.

References Tool Window - An extremely fast reference-finding tool (2-10 times faster than our closest competitors), and it’s the only reference-finding tool with a Live Sync option to show all references all the time.

Step Into Member - This cool new debugging feature allows you to step inside the member at the caret (without stepping into any other members that might also be on the same line).

Tab to Next Identifier - With the caret inside an identifier, press Tab or Shift+Tab to navigate between references.

Templates - New "evar" template, for creating events with Add and Remove accessors.

Templates - New "dr." template, for creating "DialogResult."

Templates - New "c," template, for creating classes that don't have constructors (the "," at the end of a template, by convention, means that it will have a shorter expansion than the same template without the comma).

Templates - New c?Type? templates, for creating classes that descend from types with template mnemonics. This is most useful if you’ve right-clicked on types you regularly work and selected the “Use Type in Templates…” menu item. For example, if you had a class called “Employee”, and you assigned a mnemonic of “e” to that type, you can declare a descendant of employee by expanding “ce”.

Templates - Static/shared members can now be declared by making the first letter of the template uppercase. For example, “Mb” will create a static/shared function that returns a Boolean.

Templates - Parameter templates now add commas if they are missing.

Templates - Member and type declaration templates now use the default scope settings from the new Editor\Code Style\Scope options page.

Refactor! Pro

Note: Refactorings that are marked as "Early Experience" can be enabled through the Editor\Refactoring\Early Experience options page.

New Features

Add Parameter - New refactoring: Adds a new parameter to a method declaration and updates all calls accordingly.

Add Validator - New refactoring: Adds one or more selected Validators to the active input control (the control containing the caret). [ASP .NET only]

Boolean to Enum - New refactoring: Converts a Boolean type to an enumeration, updating client code if necessary.

Break Apart Parameters - New refactoring: Places each parameter on a separate line.

Create Method Stub - New refactoring: Generates a method for the selected call, with appropriate parameters and return result.

Extract ContentPlaceHolder - New refactoring: Moves the selected content from a .master page to a new .aspx file, placing it inside <asp:content> tags, and inserts a new <asp:contentplaceholder> tag at the extraction point inside the master page. [ASP .NET only]

Extract ContentPlaceHolder (and create master page) - New refactoring: Moves the content that is *outside* of the selection (in the active .aspx page) to a new master page, inserting a <asp:contentplaceholder> tag to reference the extracted content, and then wraps the selection in the aspx page with <asp:content> tags and adds a MasterPageFile attribute to link to the new master page. [ASP .NET only]

Extract Function (outside of class) - New refactoring: Moves selected code into a new function within the enclosing namespace. [C++ only]

Move Method to Header - New refactoring: Moves a method from a source file into the class declaration (in the header file). [C++ only]

Move Method to Source File - New refactoring: Move a method's implementation to a source file and create a declaration in the header file. [C++ only]

Move Style Attributes to CSS - New refactoring: Moves styling attributes from the active control to a new CSS class and applies the class to the control. [ASP .NET only]

Move to Code-behind - New refactoring: Moves code located in <script> tags to the code-behind file. [ASP .NET only]

Promote to Parameter - New refactoring: Removes all references to the field or a local declaration from the method, replacing it with a parameter. Calling code is adjusted to now pass in the field or expression of the local declaration as the argument for the new parameter. [Early Experience]

Remove Parameter - New refactoring: Removes an unused parameter from a method declaration and updates all calls accordingly.