Each sample directory may have its own README.md file to describe its specific scenario
and call out interesting aspects to its sample.
Samples include:
| Sample | Description |
|---|---|
| Simple command handler | Demonstrates the basics of working with commands. See also the Create your first extension tutorial. |
| Insert guid | Shows how to insert text or code in the code editor, how to configure a command with a specific activation condition, and how to use a resource file for localization. See also the tutorial. |
| Command parenting | Shows how to author a command that can be parented to different aspects of the IDE. |
| Document selector | Shows how to create an editor extension that is only applicable to files matching a file path pattern. |
| Output window | Shows the most basic use of the Output Window API |
| Tool window | Shows how to create a tool window and populate it with content. |
| User prompt | Shows how to display a prompt to the user and gather simple input. |
| Dialog | Shows how to display a dialog with custom UI to the user. |
| Word count margin | Shows how to create an editor margin extension that displays the word count in a document. |
| Markdown linter | A complete extension with many moving parts interacting to provide an enhanced experience in the editor for a certain file type. |
| Project Query | Shows several different kinds of project system queries you can make. |
| Comment remover | Shows how to consume Visual Studio SDK services through .NET dependency injection and use VisualStudio.Extensibility APIs for commands, prompts and progress report. |
| RegexMatchDebugVisualizer | Shows how to use Remote UI to create a Debugger Visualizer to visualize regular expression matches that will launch in a modal dialog window. |
| MemoryStreamDebugVisualizer | Shows how to create a Debugger Visualizer to visualize MemoryStream objects that launches in a non-modal tool window. |
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
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.