CodeRush

Visualization Tools

Quickly see the essence of the code you're working on because Clarity is good - Noise is bad.

CodeRush by DevExpress adds subtle visual cues to code to allow a developer to identify and recognise code quickly.

Color themes

CodeRush enables you to modify color settings for all its visual features and manage color schemes via a single options page. The Visual Experience options page is located at the top of the options page list in the Options dialog.

Visual Experience options page - CodeRush by DevExpress

The Visual Experience options page is divided into two sections:

  • Skins and Icons

    This section lets you specify the active skin for CodeRush tool windows and choose a set of tool bar icons.

    Skins and Icons section - Visual Experience options page - CodeRush by DevExpress

    CodeRush can either use the specified skin and icon set, or apply color settings matching the current Visual Studio theme.

  • Color schemes

    Use this section to manage color schemes applied to individual CodeRush visual elements.

    Skins and Icons section - Visual Experience options page - CodeRush by DevExpress

    CodeRush can apply settings matching the current Visual Studio color scheme, or use an existing or custom color scheme. If you change color settings, CodeRush saves the changes into the currently selected color scheme.

Debug Visualizer and the Expression Explorer

The Debug Visualizer simplifies the debugging experience. It displays expression values right inside the code, previewing future values (for the active statement before it is executed), as well as documenting historical values inside the method.

Debugger Visualizer - CodeRush by DevExpress

You can also see the results of expressions before they are returned from a function (see the screenshot above).

In addition to seeing the entire expression’s value, you can drill into the parts of a complex expression using the Expression Explorer. Double-click any parent preview located below the expression or press Alt+Down to bring up the Expression Explorer. Arrow keys navigate through values, and Escape (or clicking anywhere in the code) closes the expression explorer. The expression explorer is available for any active line of code that has an expression consisting of two or more sub-expressions.

Expression parts evaluation - Debugger Visualizer - CodeRush by DevExpress

When the Expression Explorer is active, so is the expression Node Map to the right. The Node Map reveals expression hierarchy, and can be useful in understanding the structure of complex expressions.

For composite Boolean expressions consisting of several child expressions, the Debug Visualizer highlights the child expressions that conclusively determine the parent’s value. For example, this top-level expression evaluates to false:

Conclusive nodes - Debugger Visualizer - CodeRush by DevExpress

The child expression that determines this result of false is the second child expression, createIfNotExists. Conclusive Boolean expressions are highlighted in the expression explorer, and appear as square nodes inside the Node Map.

Here’s another example of conclusive node highlighting:

Conclusive nodes - Debugger Visualizer - CodeRush by DevExpress

In the expression above, the top level expression evaluates to true, and the two child Boolean expressions (which are ANDed together) also both evaluate to true, so they are both conclusive (and you can see them both highlighted as squares in the Node Map). Drilling down into the expression on the right (condition2 || !condition3), we see this:

Conclusive nodes - Debugger Visualizer - CodeRush by DevExpress

Here condition2 is ORed with the inverse of condition3. Since condition2 is true and is evaluated first, it determines the value of its parent; the result will be the same regardless of the evaluation of the inverse of condition3.

Highlighting conditional nodes is useful when a Boolean expression’s value differs from expectation; it’s easy to quickly find the conditional expression responsible for the unexpected result.

The Debug Visualizer also visually shows whether a conditional statement evaluates to true () or false ().

You can enable or disable individual Debugger Visualizer features via the Editor|Debug|Visualizer options page, and modify color settings for your taste via the Editor|Painting|Debug Visualizer options page (visible when the Option dialog’s Level combo is set to Expert).

DXCore Visualize toolbar

The Visualize toolbar allows you to quickly enable or disable CodeRush visualization features, cleanup the current solution, change the current settings scheme, and control the execution of unit tests.

DXCore Visualize Toolbar - CodeRush by DevExpress

Region Painting

CodeRush adds cool custom region painting to Visual Studio, reducing the visual noise associated with #region and #endregion directives when the region is expanded.

This gives you the flexibility to enclose each method and property inside a named region, as shown in the screen shot below:

Custom Region Painting - CodeRush by DevExpress

Flow Break Evaluation

Flow evaluation reveals the path of execution when a flow break keyword is encountered. For example, in C#, flow break keywords include "continue", "break", "throw", and "return" (in VB, "Raise", "Return", "Exit Sub", "Exit Do", etc.).

Flow Break Evaluation - CodeRush by DevExpress

Flow evaluation is an important tool when viewing complex code with multiple loops and breaks. CodeRush also visually alerts you to the presence of these keywords with an onscreen icon (click the icon to jump to the target location, or hover the mouse over the icon for a visual preview).

Member Icons

Visibility indicators appear to the left of class and struct members, revealing access. Visibility icons are shown below:

Public
Protected Internal
Internal
Protected
Private

If a member is public, the icon for that member appears. A subset of member icons appear below:

Field
Method
Property
Class
Struct
Interface

You can click the visibility indicator icon to present a drop-down menu of valid access modifiers for this member.

Visibility Indicators - CodeRush by DevExpress

Quick Nav Preview

Quick Nav is the navigation feature that lets you find identifiers fast. Simply hit Ctrl-. and Quick Nav will list the types and members available inside all open files.

Once you have a quick Nav window up, seeing the code simply requires that you press the Ctrl key and the code associated with that item is immediately highlit.

Quick Navigation Preview - CodeRush by DevExpress

See the CodeRush Navigation page for more info on Quick Nav.

Show Color

The Show Color feature greatly simplifies how you work with color in code. CodeRush highlights color references in the source code with a rectangular color swatch appearing near the start of the color reference. If you click the color swatch, the Color Picker appears, allowing you to select a new color (and thus change the color reference in the code).

CodeRush Color window - CodeRush by DevExpress

Structural Highlighting

Structural Highlighting shows how your code lines up. Structural highlighting is available for C++, C#, Visual Basic, and XML documents.

Structural Highlighting - CodeRush by DevExpress

Spell Checker

Spell Checker underlines the spelling errors in comments, strings, XML comments, HTML attributes, HTML text and suggests some similar words to replace the misspelled word under the cursor.

Spell Checker - CodeRush by DevExpress

CodeRush also includes a Spell Checker tool window, which allows you to check the spelling of your entire solution with only a single click and view the results in a single window. Click the Check solution button to check spelling in the current solution.

Spell Checker window - CodeRush by DevExpress

CodeRush Keyboard Mapping Window

If you do not remember a shortcut for the CodeRush action you want to execute, press CTRL+ALT+/ to open the CodeRush Keyboard Mapping window. The window lists the main CodeRush shortcuts grouped by categories.

CodeRush Keyboard Mapping window - CodeRush by DevExpress

You can edit the list of shortcuts shown in the window and modify window appearance settings via the IDE|Keyboard Mapping Window options page.

Comment Painter

Comment Painter marks comments with the appropriate icon thus making your code easier to read.

Comment Painter - CodeRush by DevExpress

Line Highlighter

Line Highlighter highlights current line in the code. This helps you to quickly find the caret.

Line Highlighter - CodeRush by DevExpress

Right Margin Line

Right Margin Line is useful when you need to limit the code line's length. It does not prevent typing to the right of it, but it simply indicates the specified line length.

Right Margin Line - CodeRush by DevExpress

Code Metrics

CodeRush enables you to unceasingly evaluate the readability and complexity of your code. It shows the metrics of each property and method near its declaration.

Code Metrics - CodeRush by DevExpress

The following metrics are available:

Metric Description
Cyclomatic ComplexityThe total number of possible paths through the member's code.
Line CountThe total number of lines that belong to a class member.
Maintenance ComplexityThe member maintainability indicator.

You can specify the shown metric via the appropriate option page or via the drop-down menu as well. To call the menu, click a metric.

Metrics Context Menu - CodeRush by DevExpress

More from DevExpress
Live Chat
Have a pre-sales question?
Need assistance with your evaluation?
We are here to help.
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, require pre-sales assistance, or want help with your order, write to us at info@devexpress.com or call us at
+1 (818) 844-3383.