added some development tools
[windows-sources.git] / developer / VSSDK / Samples / README.md
blob3a73ae604c58c344f5308697120056c7bbf9207f
1 # Visual Studio Extensibility Samples
3 [![Join the chat at https://gitter.im/Microsoft/extendvs](https://badges.gitter.im/Join%20Chat.svg)](http://aka.ms/dyofat)
4 [![Build status](https://ci.appveyor.com/api/projects/status/7gjewm7eiwoa2ees?svg=true)](https://ci.appveyor.com/project/AlexEyler/vssdk-extensibility-samples)
6 These samples demonstrate how to customize the appearance and behavior of the 
7 Visual Studio IDE and editor. 
8 The following are some of the ways in which you can extend Visual Studio: 
10 * Add commands, buttons, menus, and other UI elements to the IDE
11 * Add tool windows for new functionality
12 * Add support in Visual Studio for new programming languages
13 * Add refactoring or language analyzers to fix and improve code
14 * Add a custom project type or new project or item templates
15 * Enable high-DPI/high resolutuion, theme-aware, and high contrast images and icons in your UI
16   * For Visual Studio 2013, only high-DPI images/icons are supported; use the below sample High-DPI_Images_Icons
17   * For Visual Studio 2015, samples that demonstrate using the Image Service/Catalog (for high-DPI, theme-aware, 
18     and high contrast support) are denoted below with * and docs can be found [here] (http://aka.ms/VSImageService)
20 If you've never written a Visual Studio extension before, you can find out how to get started at [VisualStudio.com/integrate](http://aka.ms/pyigr3).
22 ## Getting started
24 1. Clone the repo to download all samples ([How to](https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository#Cloning-an-Existing-Repository))
26     `git clone https://github.com/Microsoft/VSSDK-Extensibility-Samples.git`
27 2. Find samples in the table below
28 3. Read the readme included with each sample and try it in Visual Studio
30 ## Samples Overview
31 For more details see the readme included with each sample.
33 |                              Sample Name | Description                                                                                |
34 | ---------------------------------------- | ------------------------------------------------------------------------------------------ |
35 |           [Basic_Source_Control_Provider*](Basic_Source_Control_Provider/) | Shows how to add hooks for a simple source code provider                                   |  
36 |                      [Build_Progress_Bar*](Build_Progress_Bar/) | Displays a tool window written in WPF showing build progress                               |
37 |                           [Caret_Fish_Eye](Caret_Fish_Eye/) | Uses line transformation API to zoom lines in proportion to cursor distance                |
38 |                               [Code_Sweep](Code_Sweep/) | Searches for words matching terms in an XML schema across a solution                       |
39 |                                [Combo_Box](Combo_Box/) | Place combo boxes in a Visual Studio toolbar                                               |
40 |                         [CommandTargetRGB](CommandTargetRGB/) | Shows how to create a multi-instance tool window                                           |
41 |         [Completion_Tooltip_Customization](Completion_Tooltip_Customization/) | Replaces the completion tooltip UI                                                         |
42 |                          [Diff_Classifier](Diff_Classifier/) | Classifier with color highlighting                                                         |
43 |                      [Editor_With_Toolbox](Editor_With_Toolbox/) | Creates a custom toolbox associated with a specific file extension                         |
44 |                    [High-DPI_Images_Icons](High-DPI_Images_Icons/) | Use these helpers to make your images/icons in *VS 2013 only* scale on high dense displays |
45 |                           [Highlight_Word](Highlight_Word/) | Highlight any words that match the word currently under the text cursor                    |
46 |                     [Intra-text_Adornment](Intra-text_Adornment/) | Text adornment that replaces hexadecimal color values with color swatches                  |
47 |                               [LightBulb*](LightBulb/) | Creates a custom lightbulb to set text case in text files                                  |
48 |                               [MSDNSearch](MSDNSearch/) | Implements MSDN search functionality directly into Quick Search                            |
49 |                       [Menu_And_Commands*](Menu_And_Commands/) | Demonstrates how to add commands to various places in the IDE                              |
50 |                 [Ook_Language_Integration](Ook_Language_Integration/) | Implements language support for a simple programming language                              |
51 |                            [Options_Page*](Options_Page/) | Shows how to add custom pages to the Tools / Options dialog                                |
52 |                        [Reference_Package](Reference_Package/) | Boilerplate containing minimum requirements for a functional extension                     |
53 |                       [Reference_Services](Reference_Services/) | Shows how to create and consume services as a service provider                             |
54 | [RunningDocumentTable(RDT)_Event_Explorer](RunningDocumentTable%28RDT%29_Event_Explorer/) | Creates an explorer grid to log events in a tool window                                    |
55 |                    [Single_File_Generator](Single_File_Generator/) | Creates a file generator that uses XML as basis for creating a new C# file                 |
56 |            [Source_Code_Control_Provider*](Source_Code_Control_Provider/) | More complex example of a source code provider                                             |
57 |            [Source_Control_Provider_Status_Bar_Integration](Source_Control_Provider_Status_Bar_Integration/) | Display source control information in the Status Bar.                                             |
58 |                      [Todo_Classification](Todo_Classification/) | Classifier that highlights TODO comments and displays a matching glyph                     |
59 |                       [Typing_Speed_Meter](Typing_Speed_Meter/) | Displays an adornment with a typing speed indicator in the Text Editor                     |
60 |                          [WPFDesigner_XML](WPFDesigner_XML/) | WPF-based visual designer for editing .vstemplate XML files                                |
61 |                          [WPF_Toolwindow*](WPF_Toolwindow/) | Provides a sample toolwindow that can host a WPF or WinForms control                       |
62 |         [Windows_Forms_Controls_Installer](Windows_Forms_Controls_Installer/) | Loads custom Windows Forms controls inside the toolbox                                     |
64 <!-- |          IronPython_Integrated_Shell |Demonstrates how to create an integrated shell for IronPython  
65     |   IronPython_Integration | Demonstrates a custom project type and WinForms designer for IronPython
66 |   IronPython_Studio_VS_Shell_Isolated | Example of using the isolated shell to host a language service -->
68 ## Other useful resources
70 * For details on how to create user experiences that are seamless and consistent within the IDE, visit
71  the [Visual Studio User Experience Guidelines](http://aka.ms/o111mv). You will also find information
72  about the common user models and interaction patterns that are used and how you can utilize them as well.
74 * You can publish your completed extension to the 
75 [Visual Studio Gallery](http://aka.ms/g4brw3).  
77 * Writing an extension for Visual Studio Team Services? Check out the 
78 [VSO extension samples](http://aka.ms/ph0rr5) at 
79 the dedicated repository.
81 This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
83 Thank you for your support for Visual Studio - we're excited to see what extensions
84 *you* build!