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://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
-
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/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
-
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
-
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
-
What is ITextView, IVsTextView and IWpfTextView?
-
What is IVsTextViewCreationListener and IWpfTextViewCreationListener?
-
IVsTextViewCreationListener vs IWpfTextViewCreationListener
-
IClassifier
-
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.