Functional Automation Groups

The automation object model consists of a few, expansive functional groups of objects. These objects control major facets of the integrated development environment (IDE) and apply to all project types in Visual Studio. Understanding how these groups work makes it easier to understand and use the model.

The objects in these functional groups are fully outlined in the Automation Object Model Chart. The groups are:

  • Solution, project, and project item objects.

  • Build objects.

  • Code editor objects.

  • Code definition manipulation objects.

  • Tool window and document manipulation objects.

  • Tool window-specific objects, such as the Task List, Output window, and Toolbox.

  • Command objects.

  • Debugging objects.

  • Event-handling objects.

Each functional group consists of one or more related objects, collections, or interfaces that contribute to a particular purpose. For example, the primary function of the Event objects group is to provide access to events occurring in the IDE. One such object in this group is the TaskListEvents object, which allows you to respond to events that occur in the Task List. Another in this group is the BuildEvents object, which allows you to respond to events that occur in a build operation, such as the beginning or completion of a build.

Project-Specific Automation Models

In addition to the core automation model that any Visual Studio language can use, each language in Visual Studio offers one or more project-specific automation models to access its special features. For Visual Basic and Visual C# projects, that model is located in the following assemblies:

For more information about this functionality, see Introduction to Project Extensibility.

For Visual C++, the assemblies are:

They represent (respectively), the Visual C++ specific code model, the Visual C++ project model, and the Visual C++ wizard model.

See Also


How to: Create an Add-In

Walkthrough: Creating a Wizard


Visual Studio Commands and Switches


Automation Object Model Chart

Other Resources

Creating Add-ins and Wizards