Download the extension from the Visual Studio Marketplace.
This extension allows you to export a list of extensions and importing them back into any instance of Visual Studio.
Figure 1. The Export Extensions and Import Extensions menu commands.
The Export Extensions dialog box appears that lets you select which extensions you wish to export.
Check the boxes for the extension(s) you wish to export, and then click Export to perform the operation.
Click the Select/deselect all to toggle back and forth between selecting or deselecting all the extensions in the list.
Figure 2. The Export Extensions dialog box.
The output is a JSON file with an .vsext file extension looking like this:
{
"id": "49481cf2-0f02-462e-b8b7-9ecc53fee721",
"name": "My Visual Studio extensions",
"description": "A collection of my Visual Studio extensions",
"version": "1.0",
"extensions": [
{
"name": "Add Multiple Projects To Solution",
"vsixId": "2ed01419-2b11-4128-a2ca-0adfa0fc7498",
"moreInfoUrl": "https://marketplace.visualstudio.com/items?itemName=MaciejGudanowicz.AddMultipleProjectsToSolution",
"downloadUrl": "https://maciejgudanowicz.gallery.vsassets.io:443/_apis/public/gallery/publisher/MaciejGudanowicz/extension/AddMultipleProjectsToSolution/1.2.0/assetbyname/Microsoft.VisualStudio.Ide.Payload?redirect=true&update=true"
},
{
"name": "Add New File",
"vsixId": "2E78AA18-E864-4FBB-B8C8-6186FC865DB3",
"moreInfoUrl": "https://marketplace.visualstudio.com/items?itemName=MadsKristensen.AddNewFile",
"downloadUrl": "https://madskristensen.gallery.vsassets.io:443/_apis/public/gallery/publisher/MadsKristensen/extension/AddNewFile/3.5.160/assetbyname/Microsoft.VisualStudio.Ide.Payload?redirect=true&update=true"
},
{
"name": "Advanced Installer for Visual Studio 2019",
"vsixId": "Caphyon.AdvancedInstaller.5a62525e-63ff-4f65-8949-c5e3f35bf9a8",
"moreInfoUrl": "https://marketplace.visualstudio.com/items?itemName=caphyon.AdvancedInstallerforVisualStudio2019",
"downloadUrl": "https://caphyon.gallery.vsassets.io:443/_apis/public/gallery/publisher/caphyon/extension/AdvancedInstallerforVisualStudio2019/19.0/assetbyname/Microsoft.VisualStudio.Ide.Payload?redirect=true&update=true"
}
]
}Listing 1. The contents of the new .vsext export.
Of note are new entries: moreInfoUrl and downloadUrl for each extension. These are now exported along with the vsixId and name fields.
The moreInfoUrl field points to the Visual Studio Marketplace page of the extension. If you open this URL in a Web browser, then the Visual Studio marketplace will show that extension's page:
Figure 3. Google Chrome opened to the URL in the moreInfoUrl field for the Windows App SDK (Experimental) extension.
The downloadUrl field points to the URL that a HTTP GET request can be issued to in order to obtain the .vsix file of the extension itself.
The file can be parsed by a custom script you write. The use case is, e.g., say a Sysadmin at a large organization needs to install the same suite of extensions into all the Visual Studio 2019 instances in a computer lab.
For such a use case, the procedure is as follows:
- Configure a 'reference' workstation's copy of Visual Studio with the set of extensions you want.
- Also install this extension.
- Do an
Export Extensionsoperation from the menu command. - Save the
.vsextfile to a common location where your script can see it. - Download and install the extensions, using your script, across all your computer-lab machines.
Clicking the import button prompts you to select a .vsext file. Doing that will present you with the Import Extensions dialog that lists all the extensions found in the .vsext file you selected.
Figure 4. The Import Extensions dialog box.
Before showing the list it will verify that the extensions exist on the Marketplace and that can take a few seconds.
Any extensions in the import file that are already installed in Visual Studio will be grayed out.
Clicking the Import button in the dialog will start the VSIX Installer in a separate process and you can follow the normal install flow from there.
This allows you to specify which extensions needed to work on any given solution. When a developer opens the solution and doesn't have one or more of the extensions installed, they are prompted to install them.
Right-click the solution to manage the extensions.
Figure 5. Context menu for the Solution level of Solution Explorer.
This will show this dialog where you can pick wich of your extensions to associate with the solution.
Figure 6. The Manage Solution Extensions dialog box.
To create a .vsext file containing the checked extensions in a location on the local disk that is next to the Solution file (.sln), check the extensions you want, and then click the Select button.
You have the option to commit the generated .vsext file to souce control. This is highly recommended.
This project has been taken over by Loop8ack, the original author was Mads Kristensen.
I have assumed ownership and responsibility for the further development and maintenance of this project. As the new maintainer, I will be actively working on improving and adding new features to the project.
Please feel free to create an Issue for any questions, bug reports, or feature requests you may have. Your feedback and contributions are highly appreciated as I continue with the development of this project.
Thank you!





