This documentation is archived and is not being maintained.

Extending Visual Studio Overview

The Visual Studio integrated development environment (IDE) provides the user interface (UI) for standard components, such as compilers, editors, and debuggers. Features like Visual C++ and Visual Basic that are included with Visual Studio are themselves extensions of the IDE. The Visual Studio SDK provides tools, samples, wizards, designers, and documentation that helps you develop your own applications that extend the IDE and integrate seamlessly with it.

Getting Started with the Visual Studio SDK

Provides an overview of the Visual Studio  SDK.

User Experience Guidelines for Visual Studio

Provides guidelines for creating user interfaces for Visual Studio extensions.

Managing Multiple Threads in Managed Code

Explains how to use background threads, and how to switch to the UI thread from a background thread.

Visual Studio IDE Architecture

Describes Visual Studio and its IDE, and introduces strategies and techniques for extending the IDE.

VSIX Deployment

Describes how to use the VSIX format to package SDK projects. The VSIX format uses file-based deployment and does not support writing to the Global Assembly Cache (GAC) or to the system registry.

Creating a Software Development Kit

Explains how to use a VSIX project to create your own SDK.

Shell (Integrated or Isolated)

Explains how to create a custom tool that has its own integrated development environment (IDE). The Visual Studio Shell provides a hierarchal project system, integration with editors and designers, source code control, and a familiar user interface that may reduce the learning curve for end users.

User Interfaces

Explains how to use Visual Studio services to create UI elements that match the rest of Visual Studio.

Projects and Solutions

Describes how to use Visual Studio projects and solutions to organize code files and resource files, and how to implement source control.

Reference Manager Extensibility

Explains how to extend the Reference Manager.


Describes how to extend the Visual Studio editor and how to create custom editors.

Language Services

Describes how you can add support for a new programming language to Visual Studio.

Visual Studio Debugger Extensibility

Describes how you can support debugging for a custom language.

Data Designer Extensibility (DDEX) SDK

Provides documentation, samples, and resources to help you implement a DDEX provider for exposing third-party data source objects in Visual Studio.

Visual Studio Extensibility Samples

Describes how to obtain Visual Studio Extensibility samples.

Walkthroughs for Customizing Visual Studio By Using VSPackages

Describes how to create a basic VSPackage.

Visual Studio Software Development Kit (SDK)

Provides a gateway to documentation, samples, and code to help you develop products that integrate with the Visual Studio product family.

Visual Studio

Discusses how to develop applications by using Visual Studio. Includes sections about how to extend the Visual Studio IDE by using add-ins.