在企业环境中管理扩展
Visual Studio Code 扩展可以提高工作效率,但在企业环境中需要妥善管理,以确保安全性和合规性。本文介绍了 IT 管理员如何控制扩展安装、托管私有市场以及将扩展部署到用户计算机上。
配置允许的扩展
从 VS Code 1.96 版本开始提供对允许扩展的支持。
VS Code 支持通过 extensions.allowed 此设置在组织层面进行管理。请联系您的管理员进行更改。 全局设置来控制可以在用户计算机上安装哪些扩展。您可以按发布者、特定扩展、版本和平台有选择地允许扩展。默认情况下,允许安装所有扩展。当您配置此设置时,只有列出的扩展才能安装,未列出的扩展将被阻止。如果您阻止了已安装的扩展或版本,该扩展将被禁用。
按发布者允许或阻止
使用发布者 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将允许除 C++ 扩展之外的所有 Microsoft 扩展。 - 不支持重复的键值。同时包含
"microsoft": true和"microsoft": false会导致配置无效。 - 扩展 ID 或发布者 ID 中不支持通配符,除非是
"*",用于允许或阻止所有扩展。例如,"*": false会阻止所有扩展。
使用组织策略部署
组织可以通过使用 AllowedExtensions 策略来集中管理允许的扩展。通过设备管理解决方案,管理员可以在所有受管设备上部署并强制执行该策略。这会覆盖个人设备上用户配置的 extensions.allowed 此设置在组织层面进行管理。请联系您的管理员进行更改。 设置。

如果策略值中存在语法错误,则不会应用 extensions.allowed 设置。请检查 VS Code 中的窗口日志以查找错误(按 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 并输入 Show Window Log)。
预安装扩展
您可以为 VS Code 设置一组预安装的扩展(引导程序)。当您准备机器镜像、虚拟机或云工作站,且其中预装了 VS Code 并希望用户立即可用特定扩展时,此功能非常有用。
目前仅 Windows 支持预安装扩展。
按照以下步骤引导扩展
-
在 VS Code 安装目录中创建一个
bootstrap\extensions文件夹。 -
下载您想要预安装的扩展的 VSIX 文件,并将它们放入
bootstrap\extensions文件夹中。 -
当用户首次启动 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 或 Web 版 VS Code 连接。
私有市场目前面向 GitHub Enterprise 客户开放。VS Code 用户必须使用 GitHub Enterprise 或 Copilot Enterprise/Business 账户登录才能访问私有市场。
开始使用 部署和功能指南,其中包含部署说明、脚本和开发环境配置。如有问题或需要协助,请联系 私有市场支持。