This week is going to be a Visual Studio Extension Theme Week and what better way to kick if off then to highlight a number of great resources for creating them!

First a shout-out to Carlos Quintero of for pointing out these resources (and we’re going to give him a second one on Wednesday 😉

We start with a must have repo for any VS Extension dev…

Visual Studio Extensibility Samples


These samples demonstrate how to customize the appearance and behavior of the Visual Studio IDE and editor using the Visual Studio SDK. The following are some of the ways in which you can extend Visual Studio:

  • Add commands, buttons, menus, and other UI elements to the IDE
  • Add tool windows for new functionality
  • Add support in Visual Studio for new programming languages
  • Add refactoring or language analyzers to fix and improve code
  • Add a custom project type or new project or item templates
  • Enable high-DPI/high resolution, theme-aware, and high contrast images and icons in your UI
    • For Visual Studio 2013, only high-DPI images/icons are supported; use the below sample High-DPI_Images_Icons
    • For Visual Studio 2015, samples that demonstrate using the Image Service/Catalog (for high-DPI, theme-aware, and high contrast support) are denoted below with * and docs can be found here
  • Reach millions of developers via the Visual Studio Gallery

Samples Overview

For more details see the readme included with each sample.

Sample Name

Shows how to add hooks for a simple source code provider

Displays a tool window written in WPF showing build progress

Uses line transformation API to zoom lines in proportion to cursor distance

Searches for words matching terms in an XML schema across a solution

Place combo boxes in a Visual Studio toolbar

Shows how to create a multi-instance tool window

Replaces the completion tooltip UI

Classifier with color highlighting

Creates a custom toolbox associated with a specific file extension

Use these helpers to make your images/icons in VS 2013 only scale on high dense displays

Highlight any words that match the word currently under the text cursor

Text adornment that replaces hexadecimal color values with color swatches

Creates a custom lightbulb to set text case in text files

Implements MSDN search functionality directly into Quick Search

Demonstrates how to add commands to various places in the IDE

Implements language support for a simple programming language

Shows how to add custom pages to the Tools / Options dialog

Boilerplate containing minimum requirements for a functional extension

Shows how to create and consume services as a service provider

Creates an explorer grid to log events in a tool window

Creates a file generator that uses XML as basis for creating a new C# file

More complex example of a source code provider

Classifier that highlights TODO comments and displays a matching glyph

Displays an adornment with a typing speed indicator in the Text Editor

WPF-based visual designer for editing .vstemplate XML files

Provides a sample toolwindow that can host a WPF or WinForms control

Loads custom Windows Forms controls inside the toolbox

… [Visual Studio Extensibility Samples]

Second we want to re-highlight Mads Kristensen’s awesome Extension extension…

Extensibility Tools 2015

An extension built for and by Visual Studio extension authors.

See the changelog for changes and roadmap.


  • VSCT files
    • Intellisense for custom GUIDs
    • Intellisense for custom IDs
    • Intellisense for built-in groups and menus
    • ImageMoniker Intellisense
    • Snippets
    • Auto-sync VSCT commands to C# class
  • Editor margin
    • Shows document encoding
    • Shows content type of the ITextBuffer under caret
    • Shows active classifications under caret
    • Shows caret position and selection range
  • Dialog for digitally signing VSIXs
  • Pkgdef/pkgundef files
    • Syntax highlighting
    • Intellisense
    • Snippets
    • Brace matching
    • Validation
    • Formatting
  • VsixManifest files
    • Auto-sync to Resx file
    • Automatically create .ico file based on icon file
  • Support for
  • Show Project information (for debug purposes)
  • Export KnownMonikers to PNG file
  • VS Theme color swatch window
  • View Activity Log
  • Enable VSIP Logging
  • Item templates
    • Snippet file
    • Browser Link Provider class
    • Editor drop handler

… [Extensibility Tools 2015]

Lastly a few MSDN doc’s for anyone getting started build VS Extensions…

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.

What software do I need to develop Visual Studio extensions?

You need to install the Visual Studio 2015 SDK in addition to Visual Studio 2015 in order to develop Visual Studio extensions. You can install the Visual Studio 2015 SDK as part of regular setup, or you can install it later on. For more information about installing the Visual Studio SDK, see Visual Studio SDK.

What kinds of things can I do with Visual Studio extensions?

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 the kinds of extensions you can build:

  • Support for languages that aren’t included in Visual Studio, with syntax coloring, IntelliSense, and compiler and debug support

  • Productivity tools that extend the core IDE experience with additional templates, code refactoring, new dialogs or tool windows

  • Domain-specific designers for scenarios like data design or cloud support

For examples of extensions, check out the Visual Studio Gallery. You can also take a look at Visual Studio Open Source Extensions.

Which Visual Studio features can I extend?

… [Starting to Develop Visual Studio Extensions]

Visual Studio User Experience Guidelines

The Visual Studio User Experience Guidelines are intended for those who design new features for Visual Studio. These guidelines contain information about common user models and interaction patterns so that designers of new user interfaces (UI) can create user experiences that are seamless and consistent within the development environment.

Developing software for Microsoft products means understanding the guidance provided by Windows. There are three important resources to be aware of:

These guidelines give you information about what to do when designing for Visual Studio, and in some cases information regarding how to do it is also included. For more detailed implementation information and to learn about specific application programming interfaces (APIs) that allow you to write code for solutions that integrate into the Visual Studio integrated development environment (IDE), use the Visual Studio Software Development Kit (SDK).

Visual Studio SDK Reference

This section contains information about Visual Studio namespaces, related namespaces, and other areas of interest for developers who use the Visual Studio SDK.


That should be enough to get you started… 🙂

Here’s a few more links you might find interesting:

Source link