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:

  1. Open Visual Studio Installer
  2. Click Modify on your VS 2022 installation
  3. Go to the Workloads tab
  4. Check Visual Studio extension development
  5. Click Modify to install
Note

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.

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 .vsct files
  • KnownMonikers Explorer - Browse VS image monikers
  • And more…
Tip

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:

TemplateDescription
VSIX ProjectEmpty extension project
VSIX Project w/ CommandExtension with a menu command
VSIX Project w/ Tool WindowExtension with a dockable tool window
Editor ClassifierSyntax highlighting extension
Editor MarginCustom editor margin

Verify Your Setup

To verify everything is installed correctly:

  1. Open Visual Studio 2022
  2. Go to File > New > Project
  3. Search for “VSIX”
  4. 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.