本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

在企业环境中管理扩展

Visual Studio Code 扩展可以提高生产力,但在企业环境中需要仔细管理,以保持安全性和合规性。本文介绍了 IT 管理员如何控制扩展安装、托管私人市场以及将扩展部署到用户的机器上。

配置允许的扩展名

注意

从 VS Code 版本 1.96 开始,支持允许的扩展。

VS Code 支持通过 限制用户在其机器上安装哪些扩展。

扩展允许
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
ORG 应用程序级设置。您可以选择性地允许由发布者、特定扩展、版本和平台提供的扩展。

如果未配置该设置,将允许所有扩展。如果已配置该设置,未列出的所有扩展将被阻止安装。如果您阻止了一个已安装的扩展或版本,该扩展将被禁用。

组织可以通过使用来中央管理允许的扩展名允许的扩展名

扩展允许
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
ORG 在各个设备上的设置。

例如,仅允许来自github微软出版商,将以下 JSON 值设置为允许的扩展名政策:

{
  "github": ,
  "microsoft": 
}

在本地组策略编辑器中配置允许的扩展名的截图。

重要

如果策略值中有语法错误,扩展允许 设置未应用。您可以在 VS Code 中检查Windows日志以查找错误(按 ⇧⌘P (Windows, Linux Ctrl+Shift+P 并输入 显示Windows日志)。

允许的扩展设置值

这个扩展允许设置包含一个扩展选择器列表,这些选择器确定允许或阻止哪些扩展。您可以指定以下类型的扩展选择器:

  • 允许或阻止所有来自出版商的扩展
  • 允许或阻止特定扩展名
  • 允许特定的扩展版本
  • 允许特定的扩展版本和平台
  • 仅允许扩展的稳定版本
  • 仅允许来自出版商的稳定扩展版本

以下 JSON 片段展示了不同的示例设置(允许的扩展)设置值:

"extensions.allowed": {
    // 允许来自 'microsoft' 出版商的所有扩展。如果该键没有 '.',则表示它是出版商 ID。
    "microsoft": true,

    // Allow all extensions from the 'github' publisher
    "github": true,

    // Allow prettier extension
    "esbenp.prettier-vscode": true,

    // Do not allow container tools extension
    "ms-azuretools.vscode-containers": false,

    // Allow only version 3.0.0 of the eslint extension
    "dbaeumer.vscode-eslint": ["3.0.0"],

    // Allow multiple versions of the figma extension
    "figma.figma-vscode-extension": ["3.0.0", "4.2.3", "4.1.2"],

    // 允许在 Windows 和 macOS 上使用 rust 扩展的 5.0.0 版本
    "rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"],

    // 仅允许 GitHub Pull Requests 扩展的稳定版本
    "github.vscode-pull-request-github": "stable",

    // 仅允许来自 redhat 出版商的稳定版本
    "redhat": "stable",
}

通过其出版商ID指定出版商。如果一个键没有句点 (输入:.),它被视为发布者ID。如果密钥包含句点,则被视为扩展ID。目前不支持使用通配符。

小贴士

你可以使用微软作为发布者ID,以引用由Microsoft发布的所有扩展,尽管它们可能具有不同的发布者ID。

版本范围不被支持。如果您希望允许扩展的多个版本,您必须单独指定每个版本。要进一步通过平台限制版本,请使用@符号指定平台。例如,&rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"]输入:.

选择器越具体,优先级越高。例如,"microsoft": 真µsoft.cplusplus": false允许所有微软扩展,除了C++扩展。

不支持重复的键值。例如,同时包含"microsoft": 真"microsoft": 否导致无效的策略。

预安装扩展

你可以通过一组预安装的扩展 (自动安装) 来设置 VS Code。这种功能在你准备机器映像、虚拟机或预装了 VS Code 和特定扩展的云工作站时非常有用,这样用户可以立即使用这些扩展。

注意

目前,仅在 Windows 上支持预安装扩展。

请按照以下步骤进行扩展初始化:

  1. 创建文件夹引导\扩展在 VS Code 安装目录。

  2. 下载 VSIX 文件 以预安装您希望安装的扩展,并将它们放置在 引导\扩展文件夹。

  3. 当用户第一次启动 VS Code 时,所有扩展在引导\扩展文件夹在后台静默安装。

用户仍然可以卸载预安装的扩展。卸载扩展后重启 VS Code 不会重新安装该扩展。

举办私人扩展市场

专用市场使企业能够自我托管和在组织内部分发扩展,以满足组织的安全和合规要求。专用市场与 VS Code 扩展体验集成,使用户可以轻松发现和自动更新专用扩展。

注意

从 VS Code Server 或 VS Code for the Web 连接不被支持。

使用案例
主要特点
  • 自我托管:将内部和下载的扩展托管在您的基础设施上,例如 Azure 或 Kubernetes。
  • 简单部署:将私有市场作为无状态的Docker容器部署,不需要外部数据库。
  • 灵活的存储:使用任何文件系统或 Azure Artifacts 发布和管理扩展。
  • 上游:选择自动包含来自Visual Studio市场的公共扩展。通过设置允许列表来允许或禁止选择的扩展。
  • 重新托管:选择下载和托管公共扩展,以增强安全性并支持没有公共互联网连接的环境(空气间隙)。
  • 集中发布:使用Windows和macOS上的组策略将私有市场推广到您的团队。
  • 集成安装和更新:从 VS Code 直接搜索和安装扩展,并在私人市场中自动更新新版本。
  • 跨平台支持:兼容 Windows、macOS 和 Linux 上的 VS Code 桌面版。

可用性

专用市场目前仅对 GitHub Enterprise 客户开放。VS Code 用户必须使用 GitHub Enterprise 或 Copilot Enterprise/Business 帐户登录才能访问专用市场。

入门指南

参考部署和功能指南获取部署说明、脚本和开发环境配置。如果您有任何问题或需要帮助,请联系私人市场支持