Extensions for Microsoft Visual Studio Code - Open Source
-
The embedded instance of the Open VSX registry that runs in the
plugin-registry
pod of Che to support air-gapped, offline, and proxy-restricted environments. The embedded Open VSX registry contains only a subset of the extensions published on open-vsx.org. This subset is customizable. -
The public open-vsx.org registry that is accessed over the internet.
-
A standalone Open VSX registry instance that is deployed on a network accessible from Che workspace pods.
The default is the Open VSX registry at https://open-vsx.org
.
Selecting an Open VSX registry instance
The default is the Open VSX registry at https://open-vsx.org
.
If the default Open VSX registry instance is not what you need, you can select one of the following instances:
-
The embedded instance of the Open VSX registry that runs in the
plugin-registry
pod of Che to support air-gapped, offline, and proxy-restricted environments. The embedded Open VSX registry contains only a subset of the extensions published on open-vsx.org. This subset is customizable. -
A standalone Open VSX registry instance that is deployed on a network accessible from Che workspace pods.
-
Edit the
openVSXURL
value in theCheCluster
custom resource:spec: components: pluginRegistry: openVSXURL: "<url_of_an_open_vsx_registry_instance>" (1)
1 For example: openVSXURL: "https://open-vsx.org"
.-
To select the embedded Open VSX registry instance in the
plugin-registry
pod, useopenVSXURL: ''
. You can customize the list of included extensions. -
You can also point
openVSXURL
at the URL of a standalone Open VSX registry instance if its URL is accessible from within your organization’s cluster and not blocked by a proxy.
-
Adding or removing extensions in the embedded Open VSX registry instance
You can add or remove extensions in the embedded Open VSX registry instance. This results in a custom build of the Open VSX registry that can be used in your organization’s workspaces.
To get the latest security fixes after a Che update, rebuild your container based on the latest tag or SHA. |
-
Get the publisher and extension names of each chosen extension:
-
Find the extension on the Open VSX registry website and copy the URL of the extension’s listing page.
-
Extract the <publisher> and <extension> names from the copied URL:
https://www.open-vsx.org/extension/<publisher>/<extension>
If the extension is only available from Microsoft Visual Studio Marketplace, but not Open VSX, you can ask the extension publisher to also publish it on open-vsx.org according to these instructions, potentially using this GitHub action.
If the extension publisher is unavailable or unwilling to publish the extension to open-vsx.org, and if there is no Open VSX equivalent of the extension, consider reporting an issue to the Open VSX team.
-
-
Download or fork and clone the plugin registry repository.
-
For each extension that you need to add or remove, edit the
openvsx-sync.json
file:-
To add extensions, add the publisher and extension names to the
openvsx-sync.json
file. -
To remove extensions, remove the publisher and extension names from the
openvsx-sync.json
file. -
Use the following JSON syntax:
{ "id": "<publisher>.<extension>" }
-
The latest extension version on open-vsx.org is the default. Alternatively, you can add
"version": "<extension_version>"
on a new line to specify a version. -
If you have a closed-source extension or an extension developed only for internal use in your organization, you can add the extension directly from a
.vsix
file by using a URL accessible to your custom plugin registry container:{ "id": "<publisher>.<extension>", "download": "<url_to_download_vsix_file>", "version": "<extension_version>" }
-
Read the Terms of Use for the Microsoft Visual Studio Marketplace before using its resources.
-
-
-
Build the plugin registry container image and publish it to a container registry like quay.io:
-
$ ./build.sh -o <username> -r quay.io -t custom
-
$ docker push quay.io/<username/plugin_registry:custom>
-
-
Edit the
CheCluster
custom resource in your organization’s cluster to point to the image (for example, on quay.io) and save the changes:spec: components: pluginRegistry: deployment: containers: - image: quay.io/<username/plugin_registry:custom> openVSXURL: ''
-
Check that the
plugin-registry
pod has restarted and is running. -
Restart the workspace and check the available extensions in the Extensions view of the workspace IDE.