Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Starting to Develop Visual Studio Extensions

If you’ve never written a Visual Studio extension before, you probably have some questions. We’ve listed some of the most common ones here. If you don’t see the information you’re looking for, use the feedback buttons (Was this page helpful? at the bottom of the screen) to ask for what you want.

In most cases you can find all the tools you need in the Visual Studio SDK download. You can find the latest version of the Visual Studio SDK on the Visual Studio Download Center.

The VSSDK provides several different templates for different kinds of extensions. For more information, see What templates are provided by the VSSDK?.

The sky’s the limit when it comes to imagining different Visual Studio extensions. Of course, most extensions have something to do with writing code, but that doesn’t have to be the case. Here are some examples of popular extensions:

In theory, you can extend just about any part of Visual Studio: menus, toolbars, commands, windows, solutions, projects, editors, and so on.

In practice, we have found that the features most people want to extend are commands, menus and toolbars, windows, IntelliSense, and projects. Here are links to the relevant sections:

The two main types of extensions are VSPackages and MEF extensions. In general, VSPackage extensions are used for extensions that use or extend commands, tool windows, and projects. MEF extensions are used to extend or customize the Visual Studio editor.

For Visual C# and Visual Basic extensions, the VSSDK provides an empty VSIX project template that you can use together with the new item templates that create menu commands, tool windows, and editor extensions. For more information, see What's New in the Visual Studio 2015 SDK. You can also use this template to package project templates, code snippets, and other artifacts for distribution to other users.

For C++, the VSPackage wizard provides the code to add menu commands, tool windows, and custom editors.

The Isolated Shell template is used to package an extension in a version of the Visual Studio shell that you can brand and distribute as your own. The following topics show you how to get started with each kind of extension:

Each of the links listed in the preceding section have step-by-step walkthroughs that show you how to implement specific features. You can also find open source VSSDK samples on GitHub at Visual Studio Samples.

You can install your extension on another computer or send it to your friends as a .vsix file, which you install by double-clicking it. You can find out more about VSIX packages at Shipping Visual Studio Extensions.

You can also publish your extension on the Visual Studio Gallery, which makes it visible to large numbers of Visual Studio customers. For an example of packaging an extension for the Gallery, see Walkthrough: Publishing a Visual Studio Extension. For more information about what you need to do to publish on the Gallery, see Products and Extensions for Visual Studio.

© 2015 Microsoft