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.
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.
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.
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.