Menu
Your Cart

CodeRush

CodeRush

Need more information on this product?

Please contact us on +44 (0)20 8733 7100 or via our online form.

Contact Us

If you are not currently a customer, you can apply for an account.

Register here




IDE Productivity Tools for Visual Studio

CodeRush is a refactoring and productivity plugin that extends the native functionality of Visual Studio. CodeRush provides additional features for error correction, code completion, navigation, search, syntax highlighting, formatting, code generation and optimisation, carries out over 180 automated refactorings and streamlines unit testing among other features.

The new DevExpress CodeRush for Roslyn uses significantly less memory, works faster and lets you start Visual Studio faster. It leverages Visual Studio's solution-parsing data, which means it no longer has to parse the solution and doesn't retain a duplicate solution source tree. It automatically supports new C# and VB language features as they become available in Visual Studio. With CodeRush for Roslyn you get a faster and leaner development experience, shaving tens of seconds off solution load time and freeing up hundreds of megabytes of RAM.

Key Features:

  • Visualise Code and Intuitively Debug: CodeRush makes it easier to see what's going on with complex code, so you can move forward and spend less time wandering and wondering. CodeRush's compelling new debug visualiser effortlessly and instantly answers these questions and more.
  • Move at Warp Speed: CodeRush's groundbreaking navigation tools make getting to where you need to be effortless. Stack-based markers make drilling into and out of code easy. CodeRush helps you stay on track and always be in the right place at the right time.
  • Validate Quality Faster: The CodeRush .NET Test Runner is up to 30% faster than the closest competitor so you can get back to coding sooner. CodeRush is a fast Test Driven Development, allowing you to create a new test case or a new test suite in a single keystroke.
  • Simplify Complex Software Systems: CodeRush hasa fast duplicate code detection and is the only tool with built-in duplicate code consolidation so your code is easier to read and maintain. Complex consolidation operations are performed in seconds, saving hours of error prone and tedious work. And because CodeRush's refactoring is a fast and efficient, you'll be able to effortlessly improve the quality of your code without disrupting your work flow.

CodeRush - Features

CodeRush Features

Visualization Tools

CodeRush adds subtle visual cues to code to allow a developer to identify and recognise code quickly.
  • 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.
  • 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.).
  • Visibility Icons
    Visibility indicators appear to the left of class and struct members, revealing access.
  • Quick Nav Preview
    Quick Nav is the navigation feature that lets you find identifiers fast. Simply hit Ctrl-. and Quick Nav will lists the types and members available inside all open files.
  • Structural Highlighting
    Structural Highlighting shows how your code lines up.

Advanced Selection Tools

Select and radically manipulate code efficiently
  • Selection Increase
    CodeRush's Increase Selection feature is a powerful way to quickly select the code you want to modify. This feature increases the active selection by logical code blocks.
  • Selection Commenting
    Now that you have a quick way of selecting entire logical block of code, wouldn"t it be nice if you could quickly comment out the entire block of code? If you're working in C# or C++, simply press the / key (forward slash). If Visual Basic is your language of choice, press the ' key (apostrophe).
  • Selection Inversion
    Selection inversions take an existing selection and replace it with code that is essentially the opposite of the original. You can use Selection Inversion to swap assignment statements, change true to false (and back), and more.
  • Selection Embedding
    Embeddings allow you to surround the selection with pre-defined code blocks, such as "try/finally" or "if/else" statements. All you have to do is to select the desired code block and choose an embedding from the context menu. Note that you can do much more with the CodeRush embedding engine than simply add text around a selection. Embeddings can add linked identifiers, drop markers, modify text inside the selection, and much more.
  • Though CodeRush ships with a number of pre-defined embeddings, you can easily extend the list. When adding a custom embedding, you can use all the features that are used in the built-in embeddings. You can specify text to be placed around the selection, where to place the caret, where to insert the clipboard contents, where to drop markers and much more.

Clipboard Tools

CodeRush uses contextual information about where in your code it is being asked to cut, copy or paste, providing more intelligent and powerful clipboard operations.
  • Smart Cut and Copy
    You'll rarely need to select code to cut or copy a contiguous block. For example, if you want to copy or cut a try/catch block, just place the caret on the "try" keyword and press the Copy or Cut key that you normally press when you want to copy or cut a selected block (e.g., Ctrl+X, Shift+Delete, Ctrl+C, Ctrl+Insert). If there is no selection when you press the Copy or Cut key, CodeRush pre-selects the logical block that starts with the token at the caret. This makes it easy to use cut and paste to move contiguous blocks of code, like methods, properties, conditional statements, loops, try blocks, and comments.
  • Intelligent Paste
    Intelligent Paste alters the text on the clipboard (just before pasting) to suit its surroundings. For example, if the clipboard contains "aaa = bbb;", and this assignment is pasted inside the expression of an if-block in C#, CodeRush automatically converts the assignment into an expression, so the pasted code becomes "aaa == bbb".
    Intelligent Paste is fully extensible through the options dialog and lets you specify the precise conditions (including clipboard content and target locations) that trigger an Intelligent Paste. This advanced technology is exclusive to CodeRush.
  • Code Templates and Embeddings
    CodeRush offers you multiple code templates that make use of the clipboard content. For instance, click the following image to see how you can easily reset a variable to null if this variable's name is on the clipboard.

Navigation Tools

Move through source code faster because fishing for code is a distraction that you don't have time for.
  • Advanced Code Navigation
    The CodeRush's navigation engine makes it extremely easy to locate required code fragments. For instance, let's see how you can use this feature to find all method overloads within both parent and child classes.
  • Markers
    Markers are like breadcrumb trails for finding your way back to important points in your code. Markers offer a number of improvements over the basic bookmarks included with Visual Studio.
    So while Visual Studio bookmarks are certainly useful, CodeRush markers may be a better alternative. Currently, markers are only available in CodeRush.
  • Swapping Markers
    You can even use markers to work in two places at once (alternating between two important locations with a single keystroke), and you can also use them as visual reminders to unfinished code.
  • Quick Nav
    Quick Nav in CodeRush efficiently gets you where you need to be.
    Quick Nav. is the member navigation feature of CodeRush that lets you jump straight to member declarations, with the advantage of live filtering (based on text you specify and other selectable criteria).

Code Templates

Create common code blocks fast because typing in all those characters of a try/catch block or a for-loop manually by hand takes way too long.
  • Smart Code Templates
    Code templates are blocks of code that expand from short abbreviations and mnemonics that you type into the editor. CodeRush's template engine represents the state-of-the-art in code template technology, offering unrivaled and unparalleled flexibility and power.
  • Intelligent Class and Member Declaration ,br>CodeRush v3 implements a new approach to code generation that will be extremely useful for those practicing test-driven development. If you are writing code (a test) using yet undeclared classes and members, you will now need only a few keystrokes to provide proper declarations. Simply place the caret onto the required undeclared element and hit CTRL+` (or any other shortcut you choose).
  • Linked Identifiers
    Linked identifiers allow you to change several instances of an identifier by simply changing one. Linked identifiers are typically established through code templates, but can also appear programmatically (through a DXCore plug-in) or through other CodeRush features. While some competing tools implement a technology that may seem similar to linked identifiers, only CodeRush offers live updating of the links as you type, providing instant feedback on the connection. Also, CodeRush properly implements undo for linked identifiers so you won't corrupt Visual Studio's undo stack when you press Ctrl+Z.
  • Text Fields
    Sometimes after a template expands, you might want to make some changes - specify an identifier name, add parameters, etc. When you are finished with this, you will need to move the caret to a place where you can continue coding.
  • Automatic Namespace Referencing
    If a template adds code that makes use of a namespace not already in use by your code, CodeRush will automatically add an appropriate using or imports reference to the top of your code.
  • Markers
    Markers are useful for finding your way back to important points in your code. You can also use markers to work in two places at once (alternating between two important locations with a single keystroke), and you can also use them as visual reminders to unfinished code. Markers offer a number of improvements over the basic bookmarks included with Visual Studio.

CodeRush Extensibility

The extensibility of CodeRush is it's single greatest feature because by extending the product you can help newbies adhere with team standards, implement that great VS feature idea you had, or simply exploit all the killer plug-ins submitted by the CodeRush community.
  • Register Custom Types for Use in Templates
    When using a code template, you type an abbreviation that is expanded into a meaningful code block. Such abbreviations may consist of several parts one of which denotes a data type. For instance, "vi" stands for an integer variable, while "vb" for a Boolean variable. All such templates were hard-coded into the CodeRush engine before version 2.0. You needed to build a completely new template to use custom data types.
  • Extend Selection Embeddings
    The Selection Embedding feature allows you to easily surround a selected code block with predefined statements. For instance, it allows you to embed selected code lines into a try/finally block or a for loop.
  • Custom Templates
    CodeRush includes many powerful templates, but perhaps the most powerful CodeRush feature is the ability to build your own in seconds.
  • Custom Plug-ins
    Advanced wizards plus a visual yet dramatically powerful architecture let you extend Visual Studio in amazing ways. If you have a great idea for improving your software development process, using the CodeRush architecture you'll be able to realize it that much faster (and with far fewer lines of code).
    Plug-in wizards create tool windows, standard plug-ins and options pages. These wizards lay the foundation for every kind of CodeRush plug-in. CodeRush plug-ins are descendants of .NET controls, having properties and a rich collection of useful events. Just drop these specialized controls onto your plug-in design surface as needed.
  • Community created Plug-ins
    Advanced plug-ins for CodeRush.

Back to top

CodeRush - System Requirements

System Requirements

Supported Platforms:

  • Visual Studio 2002/2003 (.NET 1.x)
  • Visual Studio 2005/2008 (.NET 2+)

Supported IDEs:

  • Visual Studio .NET 2003
  • Visual Studio 2005
  • Visual Studio 2008

Shipping Versions:

  • 2009.3.2 for VS 2005/2008 (.NET 2+)
  • 2.5.17 for VS 2002/2003

Supported Languages

  • Visual C# .NET
  • Visual Basic .NET