Prerequisites
Before you can create Visual Studio extensions, you need to install the required tools and workloads.
Required Software
Visual Studio 2022
You need Visual Studio 2022 (any edition) with the Visual Studio extension development workload installed.
To install or add the workload:
- Open Visual Studio Installer
- Click Modify on your VS 2022 installation
- Go to the Workloads tab
- Check Visual Studio extension development
- Click Modify to install
The extension development workload includes the Visual Studio SDK, project templates, and debugging tools.
.NET Framework 4.8
Visual Studio extensions target .NET Framework 4.8. This is typically already installed with Visual Studio, but you can verify or install it from Microsoft’s download page.
Recommended Tools
VSIX Viewer
The VSIX Viewer tool lets you inspect the contents of .vsix packages:
# Install from Visual Studio Marketplace or via Extensions menu
Extensibility Essentials
The Extensibility Essentials extension pack by Mads Kristensen includes helpful tools for extension development:
- Command Explorer - Browse available VS commands
- VSCT IntelliSense - Better editing for
.vsctfiles - KnownMonikers Explorer - Browse VS image monikers
- And more…
Install Extensibility Essentials 2022 from Extensions > Manage Extensions in Visual Studio.
Project Templates
After installing the workload, you’ll have access to VSIX project templates:
| Template | Description |
|---|---|
| VSIX Project | Empty extension project |
| VSIX Project w/ Command | Extension with a menu command |
| VSIX Project w/ Tool Window | Extension with a dockable tool window |
| Editor Classifier | Syntax highlighting extension |
| Editor Margin | Custom editor margin |
Verify Your Setup
To verify everything is installed correctly:
- Open Visual Studio 2022
- Go to File > New > Project
- Search for “VSIX”
- You should see the VSIX project templates
If you see the templates, you’re ready to create your first extension!
Next Steps
Continue to Your First Extension to create a simple “Hello World” command.