DevExpress IDE Tools terminology/key concepts

January 15th, 2011

Here is a list of terms often used when talking about IDE tools (including CodeRush, DXCore and Refactor!) for a better understanding of these products. The list is not complete and it is going to be updated from time to time.

Actions associate a name with functionality, which can be triggered using either a keyboard shortcut or a mouse button, and/or placed within a Visual Studio menu. Some actions accept parameters that can change their behavior.

Alias (RegEx Alias)

A number of solutions in IDE tools rely upon regular expressions to match a text. DXCore extends the regular expression engine by adding aliases – the ability to replace a complex regular expression with a human-readable alias. DXCore includes a number of predefined aliases (e.g. Identifier, Argument, Param, Initialization, StringConstant, Typecast, etc).

Code Declare

Also known as Code Analysis feature, that performs a static code analysis to find issues in your source code. It marks found issues with colored wavy lines and allows you to perform a fix immediately. The following issues can be found: errors, warnings, hints (suggestions), dead code and code smells.

Code Preview

Code Preview Window shows the syntax-highlighted source code. It is used in refactoring previews and some tool windows.

CodeRush Xpress is a completely free version of CodeRush Pro available to all Visual Studio 2008 and 2010 CSharp and Visual Basic developers, and offers a comprehensive suite of tools that enable you and your team to simplify and shape complex code – making it easier to read and less costly to maintain.

The context determines if a particular feature is appropriate for use when working inside Visual Studio IDE by specifying a collection of boolean states (e.g. “Caret is inside method” or “Menu is active“). It is useful for distinguishing conditions where a feature should be available.

Dynamic List

DXCore provides services, wizards, and a visual extensibility framework designed to make it easy to extend Visual Studio. All products like CodeRush and Refactor! were designed on the DXCore Framework.

Editor Caret

Editor caret is a text cursor representing a current position in the Visual Studio code editor.

Feature UI (also known as the “What Happened?” window) appears in the bottom right corner each time a particular IDE tools’ feature is activated to inform you about what’s going on inside Visual Studio IDE. In the majority of cases, the window is used to simplify learning of the CodeRush specific features.

Selection inversions take an existing selection and replace it with code that is essentially the opposite of the original. You can use it to swap assignment statements, invert the logic in boolean assignments to true or false, change the iteration direction on for-loops and more.

LanguageElement is the main base class for a rich variety of classes that denote a construct occurring in the source code and present a corresponding node in the abstract source tree built by DXCore Framework.

Linked Identifiers are a built-in feature of DXCore, which allows you to simultaneously change similar pieces of the text (code) located in different places. If you change one linked identifier, the others that are associated with it will automatically be changed as well.

Message Log is a diagnostic tool window with valuable information, which can be helpful to troubleshoot issues appearing in IDE tools. It is available via the DevExpress | Tool Windows | Diagnostics | Messages menu item.

Nav Field

Navigation Fields allow you to quickly navigate between related code fragments. They highlight related fragments and allow you to easily tab through them in both directions.

Nav Link

Navigation Links allow you to quickly navigate between related pieces of code. They highlight particular code fragments and allow you to easily tab through them in both directions.

Plug-in wizards are simplifying the process of creating DXCore plug-ins, such as tool windows, standard plug-ins and options pages. These wizards lay down the framework upon which your plug-ins will grow.

Refactor! Popup menu is a drop-down menu that lists all currently available refactoring/code operations for the current editor caret position and/or code selection.

Refactoring provider

Represents a particular refactoring operation for the restructuring of an existing code block, altering its internal structure without changing its external behavior in order to improve readability and the maintainability of the source code.

A shortcut binding assigns a key to an action or to a Visual Studio command. Both actions and commands can be assigned keystrokes in both Visual Studio’s options dialog and in the DevExpress options dialog.

Shortcuts Hint

Shortcut hints list available shortcuts for the active state. Shortcut hints usually appear in response to a newly activated in-source user interface.

Target Fields

The target indicator shows where the caret will be positioned when you press Num Enter or Enter to accept last active text field.

Templates

Code templates are blocks of code that expand from short abbreviations typed into the code editor. Using code templates decreases code creation time, because it avoids having to type the entire code manually and allows creating regular code sections with only a few keystrokes.

Text Document

Text expansion is a dynamic text containing encoded text commands and/or string providers, which is expanded into a block of code (text) with various elements of user/code interaction.

Text Fields

Text fields allow you to enter data and then press Num Enter or Enter to quickly move to the next field. Text fields are highlighted in the editor and usually have a tooltip below them describing the nature of the data expected.

Text View

The text view represents a view into a text document. Visual Studio may offer several views by splitting the main text document window horizontally or vertically. Text views are useful for painting on the editor and also for working with selections and the editor caret.

Tile

Tiles are rectangular regions on a text view designed to interact using the mouse. For example, CodeRush’s Flow Break Icons feature is implemented with this technology.

Tool Window

Tools windows are child windows of the Visual Studio integrated development environment that are used to display information or provide a different kind of IDE functionality. For example, there are: CodeRush tool window and User Guide tool window.

The Visualize Toolbar is similar to all other standard Visual Studio toolbars and contains a group of toggle buttons, allowing you to quickly turn off commands or controls that are typically related in their function.