第 4 章 管理 IDE 扩展


IDE 使用扩展或插件扩展其功能,管理扩展的机制在 IDE 之间有所不同。

4.1. Microsoft Visual Studio Code 扩展 - 开源

要管理扩展,此 IDE 使用以下 Open VSX registry 实例之一:

  • 在 OpenShift Dev Spaces 的 plugin-registry pod 中运行的 Open VSX registry 的嵌入式实例,以支持 air-gapped、offline 和 proxy-restricted 环境。嵌入式 Open VSX 注册表仅包含 open-vsx.org 上发布的扩展的子集。此子集 可自定义
  • 通过互联网访问的公共 open-vsx.org 注册表。
  • 单机 Open VSX registry 实例,部署到可从 OpenShift Dev Spaces 工作区 pod 访问的网络中。

默认为 Open VSX 注册表的嵌入式实例。

4.1.1. 选择 Open VSX registry 实例

默认为 Open VSX 注册表的嵌入式实例。

如果默认的 Open VSX registry 实例不是您需要的,您可以选择以下实例之一:

  • https://open-vsx.org 上的 Open VSX registry 实例需要访问互联网。
  • 单机 Open VSX registry 实例,部署到可从 OpenShift Dev Spaces 工作区 pod 访问的网络中。

流程

  • 编辑 CheCluster 自定义资源中的 openVSXURL 值:

    spec:
      components:
        pluginRegistry:
          openVSXURL: "<url_of_an_open_vsx_registry_instance>" 1
    1
    例如: openVSXURL: "https://open-vsx.org"
    提示
    • 要在 plugin-registry pod 中选择嵌入的 Open VSX registry 实例,请使用 openVSXURL: ''您可以自定义包含的扩展列表
    • 如果可以从组织的集群内部访问其 URL,并将 openVSXURL 指向独立 Open VSX registry 实例的 URL,而不被代理阻止。

4.1.2. 在嵌入式 Open VSX registry 实例中添加或删除扩展

您可以在嵌入式 Open VSX registry 实例中添加或删除扩展。这将生成可在您组织的工作区中使用的 Open VSX 注册表的自定义构建。

提示

要在 OpenShift Dev Spaces 更新后获取最新的安全修复,请基于 latest 标签或 SHA 重建容器。

流程

  1. 获取每个所选扩展的发布程序和扩展名称:

    1. Open VSX 注册表网站上 找到扩展,再复制扩展列表页面的 URL。
    2. 从复制的 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 团队报告问题

  2. 下载或分叉并克隆 插件 registry 存储库
  3. 签出与 OpenShift Dev Spaces 版本对应的分支:

    git checkout devspaces-$PRODUCT_VERSION-rhel-8
  4. 对于需要添加或删除的每个扩展,请编辑 openvsx-sync.json 文件

    • 要添加扩展,请将发布程序和扩展名称添加到 openvsx-sync.json 文件中。
    • 要删除扩展,请从 openvsx-sync.json 文件中删除发布程序和扩展名称。
    • 使用以下 JSON 语法:

          {
              "id": "<publisher>.<extension>"
          }
      提示
      • open-vsx.org 的最新扩展版本是默认的。或者,您可以在新 行中添加 "<extension_version> version": " " 以指定版本。
      • 如果您的源扩展或只为机构内部使用的扩展开发,您可以使用自定义插件 registry 容器访问的 URL 直接从 .vsix 文件添加扩展:

            {
                "id": "<publisher>.<extension>",
                "download": "<url_to_download_vsix_file>",
                "version": "<extension_version>"
            }
      • 在使用其资源前,请阅读 Microsoft Visual Studio Marketplace使用条款
  5. 构建插件 registry 容器镜像,并将其发布到 quay.io 等容器注册表:

    1. $ ./build.sh -o <username> -r quay.io -t custom
    2. $ podman push quay.io/<username/plugin_registry:custom>
  6. 编辑机构的集群中的 CheCluster 自定义资源以指向镜像(例如,在 quay.io上),并保存更改:

    spec:
      components:
        pluginRegistry:
          deployment:
            containers:
              - image: quay.io/<username/plugin_registry:custom>
          openVSXURL: ''

验证

  1. 检查 plugin-registry pod 是否已重启并在运行。
  2. 重启工作区,并检查工作区 IDE 的 Extensions 视图中的可用扩展。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.