This extension allows you to export a list of extensions and importing them back into any instance of VS 2017.
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:
"name": "My Visual Studio extensions",
"description": "A collection of my Visual Studio extensions",
"name": "Add Multiple Projects To Solution",
"name": "Add New File",
"name": "Advanced Installer for Visual Studio 2019",
Listing 1. The contents of the new
New Export Fields
Of note are new entries:
downloadUrl for each extension. These are now exported along with 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.
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.
Example Use Case for New Export Fields
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 Extensions operation from the menu command.
- Save the
.vsext file 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.
Manage Solution Extensions
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.