Skip to content

Latest commit

History

153 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Visual Studio Extensibility Samples

Join the chat at https://gitter.im/Microsoft/extendvsBuild status

These samples demonstrate how to customize the appearance and behavior of the Visual Studio IDE and editor. 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 resolutuion, 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] (http://aka.ms/VSImageService)

If you've never written a Visual Studio extension before, you can find out how to get started at VisualStudio.com/integrate.

Getting started

  1. Clone the repo to download all samples (How to)

    git clone https://github.com/Microsoft/VSSDK-Extensibility-Samples.git

  2. Find samples in the table below

  3. Read the readme included with each sample and try it in Visual Studio

Samples Overview

For more details see the readme included with each sample.

Sample NameDescription
Basic_Source_Control_Provider*Shows how to add hooks for a simple source code provider
Build_Progress_Bar*Displays a tool window written in WPF showing build progress
Caret_Fish_EyeUses line transformation API to zoom lines in proportion to cursor distance
Code_SweepSearches for words matching terms in an XML schema across a solution
Combo_BoxPlace combo boxes in a Visual Studio toolbar
CommandTargetRGBShows how to create a multi-instance tool window
Completion_Tooltip_CustomizationReplaces the completion tooltip UI
Diff_ClassifierClassifier with color highlighting
Editor_With_ToolboxCreates a custom toolbox associated with a specific file extension
High-DPI_Images_IconsUse these helpers to make your images/icons in VS 2013 only scale on high dense displays
Highlight_WordHighlight any words that match the word currently under the text cursor
Intra-text_AdornmentText adornment that replaces hexadecimal color values with color swatches
LightBulb*Creates a custom lightbulb to set text case in text files
MSDNSearchImplements MSDN search functionality directly into Quick Search
Menu_And_Commands*Demonstrates how to add commands to various places in the IDE
Ook_Language_IntegrationImplements language support for a simple programming language
Options_Page*Shows how to add custom pages to the Tools / Options dialog
Reference_PackageBoilerplate containing minimum requirements for a functional extension
Reference_ServicesShows how to create and consume services as a service provider
RunningDocumentTable(RDT)_Event_ExplorerCreates an explorer grid to log events in a tool window
Single_File_GeneratorCreates a file generator that uses XML as basis for creating a new C# file
Source_Code_Control_Provider*More complex example of a source code provider
Source_Control_Provider_Status_Bar_IntegrationDisplay source control information in the Status Bar.
Todo_ClassificationClassifier that highlights TODO comments and displays a matching glyph
Typing_Speed_MeterDisplays an adornment with a typing speed indicator in the Text Editor
WPFDesigner_XMLWPF-based visual designer for editing .vstemplate XML files
WPF_Toolwindow*Provides a sample toolwindow that can host a WPF or WinForms control
Windows_Forms_Controls_InstallerLoads custom Windows Forms controls inside the toolbox

Other useful resources

  • For details on how to create user experiences that are seamless and consistent within the IDE, visit the Visual Studio User Experience Guidelines. You will also find information about the common user models and interaction patterns that are used and how you can utilize them as well.

  • You can publish your completed extension to the Visual Studio Gallery.

  • Writing an extension for Visual Studio Team Services? Check out the VSO extension samples at the dedicated repository.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Thank you for your support for Visual Studio - we're excited to see what extensions you build!

About

Samples for building your own Visual Studio extensions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages