To persist your data using the DecoupedStorage object, use the appropriate ReadXXX and WriteXXX methods. In case your settings are language dependant, DecoupledStorage includes a property “LanguageID” that can create and select child storage objects for the purposes of language-specific storage (e.g., to support independent settings for C#, C++, Basic, etc.). Just set the LanguageID to the appropriate Language identifier (e.g., “CSharp”, “C/C++”, “Basic”, etc.), and then read and write normally. To activate the language-neutral storage object, set the LanguageID to an empty string. If your code is inside a CodeRush Options Page, you can get the LanguageID through the Options page’s LanguageID property (also, you can handle the LanguageChanged event in your Options page to find out when the user wants to create settings for another programming language).
Read more…
The DecoupledStorage object is used to handle storage for your DXCore plug-ins data. Usually, DecoupledStorage represents a single DXCore Options Page. If you are not going to create an Options Page, the DecoupledStorage will represent just named data storage.
The storage has three main identifiers (properties):
- Category (i.e. the path to the storage)
- Name (e.g. “MyPlugIn Settings”)
- Language (e.g. C#, C++, VisualBasic)
Read more…
As the name says, the object handles decoupled storage for DXCore plug-ins. It is recommended for plug-in developers to use DecoupledStorage for persisting data (e.g. plug-in settings). The storage has its own structure and saved in a file of a specific format in the appropriate location.
Read more…
The BigHint service provides methods for manipulating of big hints, such as creating new ones and showing at the specified position.
The following methods are available:
Read more…
There are only four important things to make the Action component available and working:
- Create a new DXCore plug-in if you haven’t done it yet
- Drop the Action control on the plug-in designer surface
- Fill the ActionName property
- Handle the Execute event
That’s it. Using the ActionName you are able to assign a shortcut key, and once it’s pressed, the Execute event will do its job – perform the code you added into the event handler.
Read more…
Element Highlighting visualization feature paints identifiers inside source code in a different color according to your preference. It can paint the following elements:
- classes
- structures
- interfaces
- enumerations
- methods
- properties
- fields
- events
- anonymous elements
Read more…
Let’s implement the Comment Density code metric using the CodeMetricProvider DXCore component. This code metric provides the ratio of comment lines to all lines and indicates the comments coverage of your source code. We are going to calculate it in percents for all type declarations like this:
Comment Density = (comment lines / code lines) * 100
The density of comments metric value will be between 0 and 100 percents, and can be used as a quality indicator to see how much of the code is commented. So, if the comment density value for instance is below a certain value defined by the project manager, it indicates that the code is under commented. Let’s assume that what’s recommended is a commenting of at least 15% of the code and a maximum of 30%.
Read more…
Here is the result of testing the Whole Tomato’s Visual Assist X and DevExpress’ IDE Tools co-existence for those, who prefer to use features of several Visual Studio productivity tools working side-by-side at once.
Tested versions:
- VAX – 10.6.1833.0
- IDETools – 10.2.3
Read more…