SideStore
Install and update VS Code extensions straight from GitHub releases.
Not every extension lives on the Marketplace: private tools, internal builds, forks, and projects whose authors just attach a .vsix to their releases. SideStore turns any GitHub repository into a store listing, so these install and stay up to date like any other extension.
Features
- Subscribe to repositories. Add any GitHub repo that publishes a
.vsix in its releases.
- One-click install, update, and uninstall, from the list or the store page.
- Update notifications. Outdated extensions are marked in the list, and a badge on the SideStore icon counts them. Update All takes care of them at once.
- Auto update, opted into per extension.
- Store pages built from the repo's README and latest release notes, with the familiar extension-page layout.
- Show in Extensions View jumps to the extension's native page to enable, disable, or configure it.
- Private repositories, via your GitHub account in VS Code.
Getting started
- Open SideStore in the Activity Bar.
- Click + and enter
owner/repo or a GitHub URL.
- Click the extension to open its store page, then Install.
Updates are checked at startup and every hour, or on demand with the refresh button.
Private repositories
Public repositories work without signing in. For private ones, run SideStore: Sign in to GitHub (also in the view's … menu). Signing in also raises GitHub's rate limit, which helps with many subscriptions.
Syncing across machines
Subscriptions and auto-update choices are ordinary settings, so Settings Sync carries them to your other machines, where they're listed ready to install.
| Setting |
Description |
sidestore.repositories |
Subscribed repositories, as owner/repo. |
sidestore.autoUpdate |
Repositories whose extension updates automatically. |
Publishing an extension for SideStore
A repo is installable when its latest GitHub release (not a draft or pre-release):
- has a
.vsix asset, and
- has a
package.json at the repo root, at the release tag, with publisher, name, and version.
The store page shows the README and release notes at that tag, and the icon from package.json.
With the GitHub CLI, a release is one command:
vsce package -o my-extension.vsix
gh release create v$(node -p "require('./package.json').version") my-extension.vsix --generate-notes
Limitations
- Only the latest full release is used; drafts and pre-releases are ignored.
- One extension per repository.
- Images in private repositories' READMEs don't load on the store page.
- To detect disabled extensions and updates waiting for a reload, SideStore reads VS Code's list of installed extensions. If a future VS Code changes that format, disabled extensions may show as not installed.
Development
npm install
npm run install-ext # typecheck, bundle, package sidestore.vsix, install it
Or press F5 to run it in an Extension Development Host.