– 代理会话日,2月19日

在企业环境中管理扩展

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

配置允许的扩展

注意

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

VS Code 支持通过 控制可以安装在用户机器上的扩展。

extensions.allowed
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
ORG 全局设置。您可以按发布者、特定扩展、版本和平台选择性地允许扩展。默认情况下,允许所有扩展。配置此设置后,只有列出的扩展才能安装,并且未列出的扩展将被阻止。如果您阻止已安装的扩展或版本,该扩展将被禁用。

按发布者允许或阻止

使用发布者 ID 允许或阻止来自发布者的所有扩展。不带句点 (.) 的键被视为发布者 ID。

"extensions.allowed": {
    "microsoft": true,
    "github": true
}
提示

使用 microsoft 作为发布者 ID,以引用 Microsoft 发布的所有扩展,即使它们可能有不同的发布者 ID。

按扩展允许或阻止

使用完整的扩展 ID (<publisher>.<extension>) 允许或阻止特定扩展。带有句点的键被视为扩展 ID。

"extensions.allowed": {
    "esbenp.prettier-vscode": true,
    "ms-azuretools.vscode-containers": false
}

允许特定版本或平台

将扩展固定到一个或多个批准的版本。不支持版本范围,因此必须单独列出每个版本。要进一步限制平台,请将 @<platform> 附加到版本。

"extensions.allowed": {
    "dbaeumer.vscode-eslint": ["3.0.0"],
    "figma.figma-vscode-extension": ["3.0.0", "4.2.3", "4.1.2"],
    "rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"]
}

仅允许稳定版本

使用 "stable" 作为值,以允许扩展或发布者的所有稳定版本,同时阻止预发布版本。

"extensions.allowed": {
    "github.vscode-pull-request-github": "stable",
    "redhat": "stable"
}

优先级和规则

  • 更具体的选择器优先。例如,"microsoft": true"microsoft.cplusplus": false 允许所有 Microsoft 扩展,但 C++ 扩展除外。
  • 不支持重复的键值。同时包含 "microsoft": true"microsoft": false 会导致配置无效。
  • 扩展或发布者 ID 中不支持通配符,除了 "*" 用于允许或阻止所有扩展。例如,"*": false 阻止所有扩展。

使用组织策略部署

组织可以使用 AllowedExtensions 策略 集中管理允许的扩展。通过设备管理解决方案,管理员可以将策略部署并强制应用于所有受管设备。这将覆盖任何用户配置的

extensions.allowed
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
ORG 设置在单个设备上。

Screenshot of configuring AllowedExtensions from the Local Group Policy Editor.

重要

如果策略值存在语法错误,则 extensions.allowed 设置将不会应用。检查 VS Code 的窗口日志是否有错误(按 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 并输入 显示窗口日志)。

预安装扩展

您可以配置 VS Code,使其具有一组预安装的扩展(bootstrap)。此功能在准备机器镜像、虚拟机或预安装了 VS Code 且特定扩展立即可供用户使用的云工作站时非常有用。

注意

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

按照以下步骤引导扩展

  1. 在 VS Code 安装目录中创建一个名为 bootstrap\extensions 的文件夹。

  2. 下载您想要预安装的扩展的 VSIX 文件,并将它们放在 bootstrap\extensions 文件夹中。

  3. 当用户首次启动 VS Code 时,bootstrap\extensions 文件夹中的所有扩展将在后台静默安装。

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

托管私有扩展市场

私有市场允许企业自行托管和分发组织内的扩展,以满足安全性和合规性要求。私有市场与 VS Code 扩展体验集成,为用户提供私有扩展的发现和自动更新。

私有市场的主要功能

  • 自托管:在您自己的基础设施(例如 Azure 或 Kubernetes)上托管内部扩展,以保护知识产权。
  • 上游:自动包含来自 Visual Studio Marketplace 的公共扩展,即使在互联网连接受限的环境中也是如此。通过设置 允许列表 允许或拒绝选定的扩展。
  • 重新托管:下载并托管公共扩展,以应用企业特定的验证和安全标准,并支持隔离环境。请参阅 Microsoft 如何保护您的软件供应链
  • 简单部署:作为无状态 Docker 容器部署,无需外部数据库。
  • 灵活存储:使用任何文件系统或 Azure Artifacts 发布和管理扩展。
  • 集中推出:使用 Windows 和 macOS 上的组策略将私有市场部署到您的团队。
  • 集成安装和更新:直接从 VS Code 搜索和安装扩展,并自动更新到新版本。
  • 跨平台支持:与 Windows、macOS 和 Linux 上的 VS Code 桌面兼容。
注意

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

私有市场目前仅供 GitHub Enterprise 客户使用。VS Code 用户必须使用 GitHub Enterprise 或 Copilot Enterprise/Business 帐户登录才能访问私有市场。

请从 部署和功能指南 入门,其中包含部署说明、脚本和开发环境配置。如有任何问题或需要帮助,请联系 私有市场支持

© . This site is unofficial and not affiliated with Microsoft.