Repository to learn Visual Studio Extension development.
- https://github.com/Apress/visual-studio-extensibility-development
- https://link.springer.com/book/10.1007/978-1-4842-5853-8
- https://www.amazon.in/Visual-Studio-Extensibility-Development-Productivity/dp/1484258525
- https://www.oreilly.com/library/view/visual-studio-extensibility/9781484258538/
- https://www.vsixcookbook.com/
- https://github.com/VsixCommunity/docs/blob/main/docs/index.md
- https://visualstudio.microsoft.com/vs/features/extend/
- https://learn.microsoft.com/en-us/visualstudio/extensibility
- https://bideveloperextensions.github.io/features/VSIXextensionmodel/
- VSIX Community on GitHub
- VSIX Community Samples repo
- Official VS SDK documentation
- VS SDK Samples repo
- Extensibility chatroom on Gitter.im
- Extensibility Essentials
- If you get an error something like the following,
Extension 'AddMenuButtonVsMainMenuBar.d4c83f53-acb7-473a-8726-498e86ebae56' could not be found. Please make sure the extension has been installed. AddMenuButtonVsMainMenuBar
then take a look at the so answer.
C:\"Program Files"\"Microsoft Visual Studio"\2022\Professional\VSSDK\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe /Reset /VSInstance=17.0_c9ef2fd3 /RootSuffix=Exp && PAUSE
- If you want to reset the experimental instance, do the following.
- Also ensure you install Clear MEF Component Cache extension. This is a part of Extensibility Essentials. The current latest version is 2022, and do check for the latest version
-
From michaelscodingspot
- https://michaelscodingspot.com/visual-studio-2017-extension-development-tutorial-part-1/
- https://michaelscodingspot.com/visual-studio-2017-extension-development-tutorial-part-2-add-menu-item/
- https://michaelscodingspot.com/visual-studio-2017-extension-development-tutorial-part-3-add-context-menu-get-selected-code/
- https://michaelscodingspot.com/visual-studio-2017-extension-development-tutorial-part-4-show-a-popup-window/
- https://michaelscodingspot.com/visual-studio-2017-extension-development-tutorial-highlight-code-in-editor/
- https://michaelscodingspot.com/visual-studio-2017-extension-development-tutorial-part-6-follow-span-code-trackingspan/
- https://michaelscodingspot.com/visual-studio-2017-extension-tutorial-7-insert-buttons-text-characters-adornments/
- https://michaelscodingspot.com/visual-studio-2017-extension-tutorial-8-add-ui-in-the-indicator-margin-with-glyphs/
- Code Sample is here. https://github.com/michaelscodingspot/CodyDocs
-
Festive Editor
-
https://www.youtube.com/playlist?list=PLReL099Y5nRdG2n1PrY_tbCsUznoYvqkS
-
Writing Visual Studio Extensions with Mads - Writing your first extension
- The current latest version is 2022, and do check for the latest version
- Extensibility Essentials 2022
- Clear MEF Component Cache extension.
- Typical errors that can be solved by clearing the component cache are:
- Could not load package exception
- Could not load assembly exception
- Composition error when opening files
- Missing syntax highlighting of some languages in VS
- Typical errors that can be solved by clearing the component cache are:
- https://devblogs.microsoft.com/visualstudio/getting-started-writing-visual-studio-extensions/
- https://devblogs.microsoft.com/visualstudio/writing-extensions-just-got-easier/
-
https://learn.microsoft.com/en-us/visualstudio/extensibility/adding-a-menu-controller-to-a-toolbar
-
https://github.com/Microsoft/VSSDK-Extensibility-Samples
-
Need to be able to compile the following.
-
Need to understand the following.
-
Need to understand CrispImage.
- https://github.com/amp2291/CrispImage-Test
- https://github.com/microsoft/PTVS/blob/main/Python/Product/EnvironmentsList/images/images.xaml
- https://stackoverflow.com/q/74840190/1977871
- https://stackoverflow.com/q/40677826/1977871
- https://developercommunity.visualstudio.com/t/extension-knowmonikers-image-is-not-showing-in-blu/1578087
- https://learn.microsoft.com/en-us/answers/questions/1134844/crispimage-draws-empty-area-when-using-vs-image-se?comment=question#newest-question-comment
- https://github.com/jfrog/jfrog-visual-studio-extension
-
Language Services
- https://learn.microsoft.com/en-us/visualstudio/extensibility/language-service-and-editor-extension-points
- https://learn.microsoft.com/en-us/visualstudio/extensibility/adding-an-lsp-extension
- https://github.com/Microsoft/VSSDK-Extensibility-Samples/tree/master/LanguageServerProtocol
- https://www.youtube.com/watch?v=hDSmUXK03L4
- https://www.youtube.com/watch?v=9XUAGspESzQ
- https://www.youtube.com/watch?v=Cw9qCsetpLU
- https://stackoverflow.com/questions/77015711/popup-hover-with-markdown-from-a-language-server-protocol-lsp
-
Legacy Language Service
- https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2017/extensibility/internals/legacy-language-service-extensibility
- https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2017/extensibility/internals/walkthrough-creating-a-legacy-language-service
- https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2017/extensibility/internals/implementing-a-legacy-language-service2
- https://learn.microsoft.com/en-us/visualstudio/extensibility/visualstudio.extensibility/language-server-provider/language-server-provider
- https://github.com/Microsoft/VSExtensibility/tree/main/New_Extensibility_Model/Samples/RustLanguageServerProvider
-
What next?
- Need to try this. https://stackoverflow.com/questions/45863788/how-can-i-find-out-what-classification-types-are-registered-in-visual-studio
- https://www.codeproject.com/Articles/1245021/Extending-Visual-Studio-to-Provide-a-Colorful-Lang
- https://github.com/MicrosoftDocs/visualstudio-docs/blob/main/docs/extensibility/walkthrough-highlighting-text.md
- A good set of extensions worth exploring.
-
Integration with Roslyn
-
What is ITextView, IVsTextView and IWpfTextView? - Done
-
What is IVsTextViewCreationListener and IWpfTextViewCreationListener?
- IVsTextViewCreationListener vs IWpfTextViewCreationListener
-
[Changing "Color theme" within a Visual Studio Extension]https://www.iditect.com/faq/csharp/changing-quotcolor-themequot-within-a-visual-studio-extension.html
-
IClassifier
- https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/ErrorList
- https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/Todo_Classification
- https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/Diff_Classifier
- https://github.com/Connicpu/VisualRust/blob/master/VisualRust/RustClassifier.cs
- https://github.com/Connicpu/VisualRust/blob/master/VisualRust/RustClassifierProvider.cs
-
Need to look at
-
To do
- https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/AsyncToolWindow
- End of fourth chapter in the book, ToolWindow and DTE object.
- Need to understand AdornmentLayerDefinition
- Need to understand PredefinedAdornmentLayers
-
Visual Studio Extension Preview
-
Project Types to be explored.
-
How to create xml schema from xml files. This is needed to be understood before I start to develope the extension for office work