Packaging and Publishing

Once your extension is ready, you can package it as a VSIX file and optionally publish it to the Visual Studio Marketplace.

Creating a VSIX Package

Build in Release Mode

  1. Set the configuration to Release
  2. Build the solution (Ctrl+Shift+B)
  3. Find the VSIX file in bin\Release\YourExtension.vsix
Tip

Always build in Release mode for distribution. Debug builds include extra symbols and aren’t optimized.

Update the Manifest

Before publishing, update your source.extension.vsixmanifest:

<Metadata>
  <Identity Id="YourExtension.YourCompany.UniqueGuid"
            Version="1.0.0"
            Language="en-US"
            Publisher="Your Name or Company" />
  <DisplayName>Your Extension Name</DisplayName>
  <Description xml:space="preserve">
A clear, compelling description of what your extension does.

Features:
- Feature 1
- Feature 2
- Feature 3
  </Description>
  <MoreInfo>https://github.com/yourrepo</MoreInfo>
  <License>LICENSE.txt</License>
  <Icon>Resources\icon.png</Icon>
  <PreviewImage>Resources\preview.png</PreviewImage>
  <Tags>your, tags, here</Tags>
</Metadata>

Add Assets

Include these files in your project:

FilePurposeRequirements
icon.pngExtension icon128x128 or 256x256 pixels
preview.pngMarketplace preview200x200 minimum
LICENSE.txtLicense textRequired for Marketplace
README.mdDocumentationOptional but recommended

Set Build Action to “Content” and Include in VSIX to “true”.

Installing Locally

Double-Click Install

Simply double-click the .vsix file to install:

  1. Close all VS instances
  2. Double-click YourExtension.vsix
  3. Click Install in the VSIX Installer
  4. Restart Visual Studio

Command Line Install

Use VSIXInstaller.exe for automation:

# Install
"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VSIXInstaller.exe" /quiet YourExtension.vsix

# Uninstall
"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VSIXInstaller.exe" /uninstall:YourExtension.UniqueGuid

Publishing to the Marketplace

Create a Publisher Account

  1. Go to Visual Studio Marketplace Publisher Portal
  2. Sign in with your Microsoft account
  3. Create a new publisher with a unique identifier

Prepare Your Submission

Gather the required information:

  • Categories - Choose up to 3 categories
  • Pricing - Free or Paid (requires Azure account)
  • Q&A - Enable or disable community questions
  • Repository URL - Link to source code (optional)

Upload Your Extension

  1. Go to Publish Extension
  2. Click your publisher name
  3. Click New Extension > Visual Studio
  4. Upload your .vsix file
  5. Fill in the submission form
  6. Click Publish
Note

New extensions and updates go through a validation process that typically takes 1-2 business days.

Versioning

Use semantic versioning for your extension:

  • Major.Minor.Patch (e.g., 1.2.3)
  • Increment Major for breaking changes
  • Increment Minor for new features
  • Increment Patch for bug fixes

Update the version in source.extension.vsixmanifest:

<Identity Id="..." Version="1.2.3" ... />

Update Notifications

Users are automatically notified of updates through:

  • Extensions > Manage Extensions - Shows available updates
  • Notification hub - Toast notifications for updates

Private Distribution

For enterprise or private distribution:

Host a private Atom feed:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>My Private Extensions</title>
  <id>MyPrivateGallery</id>
  <entry>
    <id>YourExtension</id>
    <title>Your Extension</title>
    <link rel="alternate" href="https://yourserver/YourExtension.vsix"/>
    <Vsix xmlns="http://schemas.microsoft.com/developer/vsx-syndication-schema/2010">
      <Id>YourExtension.UniqueGuid</Id>
      <Version>1.0.0</Version>
    </Vsix>
  </entry>
</feed>
  1. Go to Tools > Options > Environment > Extensions
  2. Click Add under Additional Extension Galleries
  3. Enter your feed URL

Next Steps

Congratulations! You’ve completed the Getting Started section. Continue to Fundamentals to learn about VS architecture and services.