Add your extension
You can add your extension to this gallery in 2 different ways as part of your build automation.
- Use PowerShell
- Use AppVeyor
Both PowerShell and AppVeyor uses a custom script that makes it easy to publish the extension to this gallery. It contains other functions that are useful for incrementing the VSIX version and other handy things.
Use PowerShell
First you must execute the VSIX script
(new-object Net.WebClient).DownloadString("https://raw.github.com/madskristensen/ExtensionScripts/master/AppVeyor/vsix.ps1") | iex
That allows you to call methods upload the .vsix extension file to the gallery.
Vsix-PublishToGallery
That will find all .vsix files in the working directory recursively and upload them. To specify the path, simply pass it in as the first parameter:
Vsix-PublishToGallery .\src\WebCompilerVsix\**\*.vsix
Use AppVeyor
AppVeyor is a build server hosted in the cloud and it's free.
After you've created an account, you can start doing automated builds. A really nice thing is that AppVeyor can automatically kick off a new build when you commit code to either GitHub, VSO or other code repositories.
To automatically upload your extension to vsixgallery.com when the build has succeeded, all you have to do is to add an appveyor.yml file to the root of your repository. The content of the file should look like this:
version: 1.0.{build} install: - ps: (new-object Net.WebClient).DownloadString("https://raw.github.com/madskristensen/ExtensionScripts/master/AppVeyor/vsix.ps1") | iex before_build: - ps: Vsix-IncrementVsixVersion | Vsix-UpdateBuildVersion build_script: - msbuild /p:configuration=Release /p:DeployExtension=false /p:ZipPackageCompressionLevel=normal /v:m after_test: - ps: Vsix-PushArtifacts | Vsix-PublishToGallery
You might want to check out these real-world uses:
Unlisted extensions
An unlisted extension is one that you need to know the direct link to, otherwise it won't show up anywhere. The only places it will show up are:
- Direct link (example: vsixgallery.com/extension/[ID])
- Author page
- Author gallery feed
- Extension gallery feed
That means it won't show up in the usual places on this website such as:
- Front page
- Search results
- Main gallery feed
To unlist an extension, simply add the tag "unlisted" in the .vsixmanifest file. The tags specified in the .vsixmanifest are not shown on either the Marketplace nor inside Visual Studio, so it won't be visible to anyone.
Here's what it could look like:
<Tags>foo, bar, unlisted</Tags>