Local VS Code Extensions
Posit Package Manager supports distributing internally-managed VS Code extensions through local-vsx sources. This page provides an overview of the options and configurations available. The quick start guide also includes a section for getting started quickly.
Local VSX Sources
Posit Package Manager has a local-vsx source type that can be used for uploading your own VS Code extension files (VSIX). Any repositories of the vsx type can subscribe to local-vsx sources, enabling you to create combined repos that subscribe to both Open VSX and your internally-managed extensions. For example:
Terminal
# Create a local VSX source:
$ rspm create source --name=local-vsx-src --type=local-vsx
Source 'local-vsx-src':
Type: Local VSX
# Create a VSX repository:
$ rspm create repo --name=extensions --type=vsx --description='VS Code extensions'
Repository: extensions - VSX
# Subscribe the repository to the local VSX source:
$ rspm subscribe --repo=extensions --source=local-vsx-src
Repository: extensions
Sources:
--local-vsx-src (Local VSX)
# Subscribe the repository to the Open VSX source:
$ rspm subscribe --repo=extensions --source=openvsx
Repository: extensions
Sources:
--local-vsx-src (Local VSX)
--openvsx (Open VSX)
# Upload a single extension:
$ rspm add --source=local-vsx-src --path=/path/to/extension.vsix
# Upload multiple extensions from a directory:
$ rspm add --source=local-vsx-src --path=/path/to/directoryPriority order of sources in a repository is important. If an extension exists in both Open VSX and the local VSX source and the repository is subscribed to both, the source that was subscribed to the repo first takes precedence by default. You can rearrange the order using the rspm reorder command.
Authentication Limitations
VS Code-based editors (Positron, VS Code) do not support authenticated extensions galleries, so users will not be able to install extensions from authenticated VSX repositories using standard editor workflows. The Authentication.NewReposAuthByDefault setting excludes VSX repositories for this reason.
If you need to restrict access to your VSX repository, consider network-level controls (firewall rules, VPN, etc.) instead of repository authentication.