Improved Startup Performance - Improved startup performance by lazy-loading resources and settings, asynchronous initialization of internal services, reworking the way CodeRush interacts with Microsoft Visual Studio menus and toolbars, and optimizing memory use.
Optimized Debug Visualizer - The Debug Visualizer steps over code faster, (due to optimized communication with Visual Studio’s debugging services). Also decreased the time required to render Debugger Visualizer visual elements.
Optimized Tool Windows - The Code Issues, Test Runner and Feature Advisor windows now load faster when run the first time.
Code Analysis
XAML Diagnostics for DevExpress WPF Components - CodeRush Code Analysis Engine can now check your XAML code for usage errors. This release introduces the following diagnostics for DevExpress Controls:
Legacy drag-and-drop - Drag-and-Drop Managers are a legacy way to enable drag-and-drop. Consider setting the 'DataViewBase.AllowDragDrop' property to 'true' instead.
ColumnBase.EditTemplate is used - The 'EditTemplate' property is outdated. Consider using CellEditTemplate instead.
FieldName matches the Binding path - When the Binding property is specified, 'FieldName' should not contain an existing property name.
Outdated windows The DXWindow, DXRibbonWindow, and DXTabbedWindow classes are outdated. Use ThemedWindow instead.
Cell templates missing PART_Editor - Consider setting the editor’s Name to 'PART_Editor' to automatically bind and configure the editor.
EditValueChanging/EditValueChanged is handled in CellTemplate - Due to the grid's virtualization mechanism, this event handler will be invoked whenever a user scrolls data. Consider handling 'CellValueChanging/CellValueChanged' (for the grid's View) instead.
An invalid EventToCommand.EventName - The EventToCommand's associated object is missing the event specified in EventName.
In-place editing is unavailable when NavigationStyle is set to Row or None - Setting the 'ColumnBase.AllowEditing' property to 'true' will have no effect if the 'DataViewBase.NavigationStyle' property is set to 'Row' or 'None'.
AutoWidth and relative column size are used together - Setting the relative (star) column size will have no effect if the 'TableView.AutoWidth/TreeListView.AutoWidth' property is set to 'true'.
C# 10 Support
File-scoped Namespace Declaration Support for C# 10 - CodeRush refactorings, Code Cleanup and Code Formatting engines now support the new C# 10 namespace declaration style as well as C# 10’s new global using directives feature.
Records and Record Structs Support - CodeRush now supports records (for C# 9) and record structs (for C# 10) in Code Cleanup, Smart Constructor and Code Diagnostics.
Refactorings
Create Descendant - You can now use the Create Descendant code provider to quickly create descendant classes (and records) with necessary constructors and selected member overrides.
Sync Namespace with Folder Structure - You can now apply the Sync Namespace with Folder Structure action in partial classes and in a copied folder that contains at least one .cs or .vb file. The namespace in the copied files will be renamed according to each file's new location.
Caps as a Shortcut Modifier
You can now use the Caps Lock key as a shortcut modifier (just like Ctrl, Shift, or Alt) to create shortcut bindings for your favorite CodeRush commands and to quickly access a wide range of CodeRush functionality (refactorings, navigation, declarations, and more).
Smart Navigation (SmartNav)
The new SmartNav feature allows you to quickly navigate between adjacent members, statements, and arguments in C#, Visual Basic, and TypeScript/JavaScript, and also between controls and properties in XAML and XML. To use SmartNav, enable the “Caps Lock as a Modifier” feature and use Caps + the Arrow keys.
The Learning CodeRush Solution
This release introduces the 'CodeRush Solution' containing interactive lessons to help you learn Caps Lock shortcuts and help you practice new CodeRush features.
File-scoped Namespace Declaration Support for C# 10