第 4 章 管理 IDE 扩展
IDE 使用扩展或插件来扩展其功能,管理扩展的机制因 IDE 而异。
4.1. Microsoft Visual Studio Code 的扩展 - 开源
要管理扩展,这个 IDE 使用以下 Open VSX registry 实例之一:
- 公共、主 open-vsx.org registry。
-
在 OpenShift Dev Spaces 的
plugin-registry
pod 中运行 Open VSX registry 的嵌入式实例,以支持 air-gapped、off 和 proxy-restricted 环境。嵌入式 Open VSX registry 仅包含 open-vsx.org 上发布的扩展子集。此子集可以自定义。 - 独立 Open VSX registry 实例,部署到 OpenShift Dev Spaces 工作区 pod 访问的网络上。
4.1.1. 选择 Open VSX registry 实例
如果从您的机构的集群解析,则 https://open-vsx.org
的 Open VSX registry 是默认设置。如果没有,则 OpenShift Dev Spaces plugin-registry
pod 中的嵌入式 Open VSX registry 是默认设置。
如果默认的 Open VSX registry 实例不需要,您可以选择另一个 Open VSX registry 实例,如下所示:
流程
编辑
CheCluster
自定义资源中的openVSXURL
值:spec: components: pluginRegistry: openVSXURL: "<url_of_an_open_vsx_registry_instance>"
提示-
默认的
openVSXURL
值为https://open-vsx.org
。 -
要在
plugin-registry
pod 中选择嵌入的 Open VSX registry 实例,请使用openVSXURL: ''
。有关如何自定义包含的扩展列表,请参见下一小节。 -
如果可从您的机构集群中的 URL 访问其 URL,则您还可以将
openVSXURL
指向独立 Open VSX registry 实例的 URL,而不是被代理阻止。
-
默认的
4.1.2. 在嵌入式 Open VSX registry 实例中添加或删除扩展
您可以在 OpenShift Dev Spaces 部署的嵌入式 Open VSX registry 实例中添加或删除扩展,以支持离线和代理环境。
这将创建 Open VSX registry 的自定义构建,可在您的组织的工作区中使用。
要在 OpenShift Dev Spaces 更新后获取最新的安全修复,请根据最新的标签或 SHA 重建容器。
流程
获取每个所选扩展名的发布者和扩展名称:
- 在 Open VSX registry 网站 中找到扩展,并复制扩展列表页面的 URL。
从复制的 URL 中提取 <publisher > 和名称 <extension> :
https://www.open-vsx.org/extension/<publisher>/<extension>
提示如果扩展仅可用于 Microsoft Visual Studio Marketplace,但不适用于 Open VSX,您可以要求扩展发布发布者根据以下 说明在 open-vsx.org 上发布它,并可能使用此 GitHub 操作。
如果扩展发布者不可用或不希望将扩展发布到 open-vsx.org,且没有与扩展相对应的 Open VSX,考虑使用向 Open VSX 团队报告问题。
- 下载或分叉并克隆 插件 registry 存储库。
对于需要添加或删除的每个扩展,请编辑
openvsx-sync.json
文件 :-
要添加扩展,请在
openvsx-sync.json
文件中添加发布程序和扩展名称。 -
要删除扩展,请从
openvsx-sync.json
文件中删除发布程序和扩展名称。 使用以下 JSON 语法:
{ "id": "<publisher>.<extension>" }
提示-
open-vsx.org 上的最新扩展版本是默认值。或者,您可以在新
行中添加 "<extension_version>
version": " " 以指定版本。 如果您有一个 down-source 扩展或只为机构中内部使用开发的扩展,您可以使用自定义插件 registry 容器可访问的 URL 直接从
.vsix
文件添加扩展:{ "id": "<publisher>.<extension>", "download": "<url_to_download_vsix_file>", "version": "<extension_version>" }
- 在使用其资源前,请阅读 Microsoft Visual Studio Marketplace 的 使用条款。
-
open-vsx.org 上的最新扩展版本是默认值。或者,您可以在新
-
要添加扩展,请在
构建插件 registry 容器镜像并将其发布到类似 quay.io 的容器 registry:
$ ./build.sh -o <username> -r quay.io -t custom
$ podman push quay.io/<username/plugin_registry:custom>
编辑您机构集群中的
CheCluster
自定义资源以指向镜像(例如在 quay.io上),并保存更改:spec: components: pluginRegistry: deployment: containers: - image: quay.io/<username/plugin_registry:custom> openVSXURL: ''
验证
-
检查
plugin-registry
pod 是否已重启并正在运行。 - 重启工作区,并在工作区 IDE 的 Extensions 视图中检查可用的扩展。