Automation model overview

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

The automation model consists of a set of objects against which you can write a Visual Studio add-in or extension. An add-in is an application that can manipulate the Visual Studio environment and automate common tasks. A Visual Studio extension can create custom Visual Studio components or add to the functionality of standard components such as the text editor.

Objects in the automation model

The automation model consists of related groups of objects that control major facets of the common environment. The following diagram shows the extensive set of Visual Studio objects that compose the automation model.

Visual Studio automation object chart

For more information, see Extend the Visual Studio environment.

The environment provides a model for different functional areas. For instance, there is a code model for various elements that you might find in code. There is a document model for various document elements. One area, the project area, is of particular interest to VSPackage providers. You will likely want your new project types to contribute to the automation model in much the same way as Visual C++ and Visual Basic contribute to the automation model. That process is outlined in Provide automation for VSPackages.

Places where you can consider extending the automation model of the environment:

  • Project

  • Document

  • Code

  • Build

For more information on automation, see Automation and extensibility for Visual Studio. This document and the documents it provides links to, help you make decisions regarding how you should provide automation for your VSPackage.

See also