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.
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.
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.
CodeRush can either use the specified skin and icon set, or apply color settings matching the current Visual Studio theme.
Use this section to manage color schemes applied to individual CodeRush visual elements.
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.
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.
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:
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:
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:
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.
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:
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 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).
Visibility indicators appear to the left of class and struct members, revealing access. Visibility icons are shown below:
If a member is public, the icon for that member appears. A subset of
member icons appear below:
You can click the visibility indicator icon to present a drop-down menu
of valid access modifiers for this member.
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.
See the CodeRush Navigation page for more info on Quick Nav.
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).
Structural Highlighting shows how your code lines up. Structural highlighting is available for C++, C#, Visual Basic, and XML documents.
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.
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.
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.
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 marks comments with the appropriate icon thus making your code easier to read.
Line Highlighter highlights current line in the code. This helps you to quickly find the caret.
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.
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.
The following metrics are available:
|Cyclomatic Complexity||The total number of possible paths through the member's code.
|Line Count||The total number of lines that belong to a class member.
|Maintenance Complexity||The 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.