What is the best way to report an IDE tools issue

January 18th, 2011 Comments off

The most preferred and official way to report issues in DevExpress’ products is the Support Center. This is the primary channel where you can get answers to your questions, report bugs and make suggestions. Whenever you want to create a new issue (ask a question, post a bug or a request), they will advise that you look through the currently posted issues. A similar issue may already have been reported, so you’ll find a quick answer.

Read more…

How to detect if DXCore is loaded from another add-in

January 17th, 2011 Comments off

Note, this article has been moved to the official DevExpress Support Center site. Please refer to the moved article as it might have further updates or additional comments. Thank you.

Here is a sample code illustrating how to detect if the DXCore is installed and loaded from another add-in (without static dependencies on the DXCore assemblies) using reflection. This could be helpful if your add-in functionality somehow intersects with the DXCore’s.

From inside a usual DXCore plug-in, you can detect if the DXCore is loaded by calling the “CodeRush.IsLoaded” property. In case you are not going to reference the DXCore assemblies inside your add-in, this sample might help.

Read more…

Code Providers – Seal Class

January 16th, 2011 1 comment

This is one of the simplest code provider operations which simply marks the active class as ‘sealed’ (CSharp) or ‘NotInheritable‘ (Visual Basic). The sealed modifier is used to prevent inheriting from a class. For example, this can be useful when creating ‘helper’ classes containing utility methods that should never be extended by overriding the existing functionality. Another benefit of this code provider is that it enables a hypothetical run-time optimization, because having a sealed class known to never have any derivations; it is possible for the compiler to transform virtual function member invocations into non-virtual which take less time to perform.

Read more…

DevExpress IDE Tools terminology/key concepts

January 15th, 2011 Comments off

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.

Action Hint

Action hints inform new users about IDE tools features, as they occur by pointing to a location on-screen with a large colored arrow, displaying a short text message.

Read more…

DXCore Services – TextExpansions

January 14th, 2011 Comments off

Text Expansions DXCore service provides methods and properties for expanding dynamic text containing encoded text commands and/or string providers. CodeRush Templates is an example of such a feature. Note that the service is hidden from Intellisense.

One of the most important methods is “Insert” (with various overloads), which allows you to expand the text you prepared. All Insert methods return the SourceRange of the expanded text. For example, when you expand the “ai” template in CSharp (to create a new auto-implemented property), the following text is being expanded:

Read more…

DXCore abstract source tree structure

January 12th, 2011 Comments off

DXCore supports lots of programming languages provided by the language services in Visual Studio. These services provide language-specific support (such as CSharp, Visual Basic, C++) for editing source code in the integrated development environment (IDE). DXCore includes appropriate source code parsers for these programming languages. When the source code is parsed, DXCore builds an abstract syntax tree (AST) that is a representation of the syntactic structure of the source code of a particular programming language. This abstract syntax tree is unified for all languages supported by IDETools. That’s why it is easy to develop a language-independent feature as a DXCore plug-in – in most cases your feature will be available in all corresponding languages automatically.

Read more…

Unbound Actions – Google Active Word

January 11th, 2011 Comments off

The “Google Active Word” action is one of the simplest, open source sample features, useful for beginners learning CSharp .NET language in Visual Studio. It performs a search in Google for the word at the editor caret, using the following link:


where “ActiveWord” is a word at the editor caret.

Read more…

DXCore plug-in Option Pages overview

December 28th, 2010 Comments off

You can add custom user-friendly option pages that will automatically be integrated into the IDETools Options Dialog. If your DXCore plug-in has any kind of user-configuration, the options page will allow you and other developers easily customize the features of your plug-in.

Read more…