Introducing the Visual Studio SDK

Many developers use Visual Studio to create and manage their software development projects. Microsoft has provided several ways to customize and extend Visual Studio to automate tasks or add features. You can create Visual Studio extensions for your own use or for distribution to other users.

By creating add-ins, you can customize the IDE of Visual Studio to help you work more efficiently. For more information, see Automation and Extensibility for Visual Studio.

To further extend Visual Studio, use the Visual Studio SDK. The Visual Studio SDK is a set of tools and documentation that can help you extend Visual Studio or create new features that are integrated into Visual Studio. You can distribute your extensions to other users. The following are some of the ways in which you can extend Visual Studio:

  • Add commands, windows, and other features to the IDE.

  • Extend the Visual Studio editor.

  • Enable support for a new language.

  • Extend data designer functionality to external data sources.

  • Add your own project-type templates.

  • Integrate custom source control.

  • Customize the Visual Studio debugger or create your own.

  • Create and manage your team test suites.

Using VSPackages and the Managed Extensibility Framework to Extend Visual Studio

Many Visual Studio components are software modules called VSPackages, including windows, services, and project types. By creating your own VSPackages, you can add features to Visual Studio for your own use or for distribution to other users.

The Visual Studio editor is composed of a VSPackage plus a number of Managed Extensibility Framework (MEF) extensions. You can use MEF extensions to extend and customize the Visual Studio editor.

The Visual Studio SDK includes tools and documentation to help you create VSPackages and MEF extensions. You can use Visual C#, Visual Basic, or Visual C++ to write your extensions.

For more information, see

Extend Data Designer Functionality to External Data Sources

Data Designer Extensibility (DDEX) lets you extend data designers in Visual Studio to communicate with many external data sources at design time, expose their object hierarchies, and show the hierarchies in Server Explorer. In addition, DDEX enables participation by external data sources in drag-and-drop functionality, object property visibility, and features of the Visual Studio designers.

The DDEX SDK provides documentation, samples, and resources to help you implement a DDEX provider.

For more information, see

Integrate Custom Source Control

Visual Studio supports two kinds of source control integration. One kind is a source control plug-in that is built by using the Source Control Plug-in API (formerly known as the MSSCCI API) and provides basic functionality. The other kind is a VSPackage-based source control application that provides more robust functionality.

A source control plug-in is written as a DLL that uses the Source Control Plug-in API. Registration and source control integration functionality are provided through the API, and most operations are exposed through the Visual Studio user interface (UI). This approach is appropriate for most source control scenarios and is easier to implement than VSPackage-based source control is. However, the VSPackage-based approach, in which you develop your own source control functionality and UI, gives you more flexibility.

For more information, see

Customize the Visual Studio Debugger or Create Your Own

The Visual Studio Debugging SDK helps you customize Visual Studio debugger components or create your own debugger components to integrate into the IDE.

In Visual Studio, debugging is executed out-of-process with the program that is being debugged. Because debugging is less intrusive in the process space of the application, it is easier to write components that interact with the debugger but do not affect your debugging program.

To use the Visual Studio Debugging SDK, you should be familiar with the following things:

  • The Visual Studio IDE

  • The C++ programming language


For more information, see

Create and Manage Your Tests

Visual Studio includes a suite of test tools that are closely integrated with other features in Visual Studio. The tools work not only in their own testing framework, but also in a larger framework of software life-cycle tools.

These tools enable you to create, manage, edit, and run manual and automated tests and store the test results. For more information about testing your application with Visual Studio, see Testing the application.

You can extend Visual Studio by adding your own custom test types.

For more information about this, see Customizing for Testing By Using the Visual Studio SDK.

See Also


How to: Troubleshoot Unsuccessful Visual Studio Project Upgrades


Best Practices for Security in the Visual Studio SDK

Samples, Support, and Other Resources in the Visual Studio SDK

Other Resources

Visual Studio Software Development Kit (SDK)