The Spectrum of Visual Studio Automation
This documentation is archived and is not being maintained.

The Spectrum of Visual Studio Automation 

Visual Studio offers three different levels of extensibility: macros, add-ins and wizards, and the Visual Studio 2005 SDK.


Macros are the easiest way to extend the Visual Studio integrated development environment (IDE) with code. Not only do they provide a big productivity boost by allowing you to record several actions in the IDE and play them back as a single command, they also allow you to learn the Visual Studio Automation models while recording macros. Macros also offer a full-fledged development environment called the Macros IDE that is based on the Visual Studio IDE. It uses the Visual Basic language and is used for creating, editing, and debugging macros. For more information about macros, see Automating Repetitive Actions by Using Macros.

Add-ins and Wizards

Add-ins are time- and labor-saving applications that attach to and are used within the Visual Studio integrated development environment (IDE). They are COM objects that implement the IDTExtensibility2 interface and communicate with the IDE through the core automation object model, which is contained in the EnvDTE and EnvDTE80 assemblies. The toolbar model is contained in Microsoft.VisualStudio.CommandBars.

The various programming languages in Visual Studio provide additional automation objects through their own assemblies. The project-specific automation assemblies are:

Assembly Name Description


Visual Basic, Visual C#, and Visual J# project automation model.


Visual Basic, Visual C#, and Visual J# project automation model.


Visual Basic, Visual C#, and Visual J# project automation model.


Visual C++ code automation model.


Visual C++ project automation model.


Visual C++ project automation model.


Visual C++ wizard automation model.

Because Add-ins are compiled, binary code, your intellectual property is protected. You can implement Add-ins in any COM-consuming language such as Visual C++, Visual Basic, Visual C#, and so forth.

For most developers, macros are sufficient for programming against the Visual Studio Automation model. In some cases, though, Add-ins can be preferable for developers, such as ISVs, who want to seamlessly add entire new features to the IDE. Add-ins fit such features into the Visual Studio IDE as though they were built-in.

Add-ins also allow you to do some things that macros cannot. Using add-ins, you can:

  • Host your tool on a menu or toolbar in the IDE.

    This allows you to easily access it while you are programming.

  • Create custom property pages for the Options dialog box on the Tools menu.

    For more information, see How to: Create Custom Tools Options Pages.

  • Create tool windows that act just like Visual Studio tool windows.

    For more information, see Creating and Controlling Environment Windows.

  • Dynamically enable and disable commands on menus and the Visual Studio Command bar.

    For more information, see How to: Add and Handle Commands.

  • Add contact and descriptive information to the Visual Studio Help About box.

Wizards are applications that lead users through a step-by-step process of creating programs or accomplishing programming tasks that are more difficult or complicated than usual. For example, Visual Studio offers the Add-In wizard to help users create an Add-in project and deployment project. You can create your own wizards by building a project that implements the IDTWizard interface. Wizards are typically invoked through the New Project or New File dialog boxes.

Visual Studio 2005 SDK

For the majority of users, macros, add-ins, and wizards meet most of their needs in Visual Studio. Some users, however, need to go beyond the considerable capabilities of the Visual Studio automation model. For example, a user might want to incorporate an entirely new editor or programming language into the Visual Studio IDE, possibly creating a need for:

  • A new project type.

  • A customized editor.

  • Advanced debugging features.

The Visual Studio 2005 SDK (formerly known as the Visual Studio Industry Partner (VSIP) program) was created so you can accomplish this. Visual Studio 2005 SDK provides the tools and information you need to integrate your products into the Visual Studio environment. Visual Studio 2005 SDK, which is a collection of SDKs, is a developer suite and platform. It gives Visual Studio 2005 SDK partners finer and more extensive control over the IDE by providing access to more interfaces and full Visual Studio Help integration. With Visual Studio 2005 SDK, partners can provide greater functionality for their users. For more information, search Help for Visual Studio Industry Partner (VSIP) program, or visit the Visual Studio 2005 SDK website at

See Also

© 2016 Microsoft