We recommend using Visual Studio 2017

Extending the Visual Studio Environment

Visual Studio add-ins are deprecated in Visual Studio 2013. You should upgrade your add-ins to VSPackage extensions. For more information about upgrading, see FAQ: Converting Add-ins to VSPackage Extensions.

Although Visual Studio offers many tools and the power to accomplish almost every task, you may require an additional or finer level of control. For example, you may want to automate a task or a series of tasks that you perform regularly. Or you may have designed tools that you want to use in the Visual Studio integrated development environment (IDE).

Visual Studio includes Automation object models, which are rich programming models for automating the IDE and also providing extensions and new features for it. Each model concentrates on a particular area of the IDE, such as the tool windows, the code editor, the various projects, and so forth.

The sections below introduce you to automation and extensibility and show you how to use them to make programming easier.

Best Practices for Security in Automation

Provides advice to help you secure Visual Studio and your automation applications.

Spectrum of Visual Studio Automation

Outlines the types of automation projects available to you in Visual Studio: add-ins and wizards, and VSIP.

Choosing the Appropriate Automation Approach

Helps you choose the most effective tools to use to accomplish your automation tasks.

Functional Automation Groups

Lists the various areas of Visual Studio that can be automated.

Creating Add-ins and Wizards

Describes the concepts of automation and extensibility, as well as the fundamentals of how to create Add-ins and wizards.

Referencing Automation Assemblies and the DTE2 Object

Provides details about how to use the essentials tools of automation.

Controlling Projects and Solutions

Illustrates how to control projects and solutions by using Visual Studio automation objects; how to save variables between IDE sessions; how to work with solution items, miscellaneous items, and unmodeled projects; and how to create solution configurations.

Creating and Controlling Environment Windows

Explains how to create and control tool windows, change window characteristics, automate text search and replace, control tools options settings, discover code with the Code model, and manipulate tree views by using UIHierarchy.

How to: Create and Attach to Another Instance of Visual Studio

Explains how to create a new instance of Visual Studio or attach to an existing one.

Responding to Automation Events

Demonstrates how to use the Visual Studio Automation model to handle events that occur in the environment.

How to: Add and Handle Commands

Explains how to create and manipulate commands on Visual Studio menus or toolbars by using the Visual Studio automation model.

Walkthrough: Creating Managed Satellite DLLs

Provides information about how to create satellite DLLs, which can contain resources for use in your automation applications.

Implementing and Using Automation Extenders

Explains how to add and filter properties on objects by using Automation Extenders.

PAVE Customizing the Development Environment

Demonstrates how to customize toolbars, shortcut keys, and other Visual Studio items.