Archive for the ‘Essentials’ Category

DevExpress DXCore controls overview

September 14th, 2010 2 comments

DXCore contains uniquely-named duplicates (to avoid naming collision and other design-time issues) of most of DevExpress controls. These controls are located in the “DevExpress.DXCore.Controls.*” assemblies. They can be used when writing DXCore plug-ins only. It is impossible to use these controls in an arbitrary application. You need the DXCore design-time assemblies to be able to use these components at design time. However, these assemblies are only available for customers who have a DXperience Subscription (customers who have already paid for the design-time portion for the corresponding controls in DXCore).

Also, there are several other DXCore-specific components added into your Visual Studio toolbox, which you can use inside your DXCore based plug-ins.

Products: DXCore
Versions: all
VS IDEs: any
Updated: Dec/28/2010
ID: D008

How DXCore plug-ins are loaded

August 19th, 2010 2 comments

DXCore has a built-in Loader Engine, which is intended to improve the speed of its start-up process. However, the first DXCore start-up process is pretty long (it may take a minute or two). There’s a reason that the first start-up takes much more time then the subsequent launches. When DXCore loads for the first time, it has to load all of the plug-ins found in both, “System” and “PlugIns” subfolders. At this time, DXCore profiles every loaded assembly: checks its load type, loading time, so in brief, all important and necessary information that DXCore should know about a particular assembly. All this information is saved to Loader profiles in an XML format. This information will be used on every subsequent DXCore launch, so that Visual Studio should start instantly, because, in the first place, plug-ins are loaded from profiles only after the splash screen goes away and, secondly, because Loader Engine has optimized DXCore loading process specially for your system.

Read more…

DXCore plug-in types and naming convention

August 19th, 2010 Comments off

DXCore has two types of plug-ins. They are “System” and “Ordinary” plug-ins. System plug-ins are located in the similar “System” folder, and all other plug-ins (usual or user plug-ins) reside in the “PlugIns” folder. These folders are located in the “Bin” folder of every product installed. The difference between “System” and ordinary plug-ins is that the former are always loaded before all other plug-ins.

Read more…

DXCore plug-ins architecture and design philosophy

August 19th, 2010 Comments off

A feature of CodeRush and/or CodeRush Xpress products) resides in DXCore plug-ins. A plug-in is special class that resides in an assembly that is loaded into the Visual Studio environment when DXCore starts-up.

While plug-ins implement the high level solutions you see, they don’t do all the work. Each plug-in references a namespace in the DXCore, which holds a powerful framework packed with low-level services and events.

Read more…

DXCore plug-ins overview

August 16th, 2010 Comments off

These are two primary types of plug-ins you can create:

  1. Standard Plug-in

The standard plug-in is a workhorse of the extensibility landscape. It serves as a container for DXCore components, such as actions, providers, and your custom event handlers.

  • Tool Window

Tool windows are modeless forms that can be docked inside the Visual Studio IDE. The Solution Explorer, Toolbox, and Property Browser are all examples of tool window plug-ins. Creating a tool window plug-in is easy. Just arrange your components in the tool window designer, set a few properties, and compile the project.

Read more…

DXCore extensible plug-ins mechanism

July 2nd, 2010 Comments off

The DXCore has a mechanism for creating extensible plug-ins. Using the existing architecture gives some benefits:

  1. Child plug-ins that extend your plug-in are managed by our demand-loading architecture.
  2. Creating a child plug-in can be done in a component-based manner. That is, the user can drop your “extension” component on their plug-in designer surface to extend your plug-in. Using this architecture is not hard:

DevExpress DXCore Framework

June 25th, 2010 Comments off

The DXCore provides services, wizards, and a visual extensibility framework designed to make it easy to extend Visual Studio. All products like CodeRush and Refactor! Pro were designed upon DXCore for Visual Studio® .NET. In the interest of encouraging developers to be pro-active about productivity, DevExpress is making available for general download of DXCore framework so that developers can build their own productivity plug-ins to extend the Visual Studio themselves using a simple visual framework for IDE extension. The DXCore is absolutely free for personal use but it is not open source.

Read more…