管理企业环境中的扩展
Visual Studio Code 扩展提升了生产力,但在企业环境中需要谨慎管理以维护安全性和合规性。本文将介绍IT管理员如何控制扩展安装、托管私有市场,以及向用户机器部署扩展。
配置允许的扩展
从 VS Code 版本 1.96 起,支持允许的扩展。
VS Code 支持通过
如果设置未配置,所有扩展都是允许的。如果设置是配置好的,所有未列出的扩展都会被阻止安装。如果你屏蔽了已经安装的扩展或版本,该扩展就会被禁用。
组织可以通过使用允许的扩展 政策。通过设备管理解决方案,管理员可以部署并执行该策略覆盖所有受管理设备。这会覆盖任何用户配置
例如,只允许来自GitHub以及微软发布者,将以下 JSON 值设置为允许的扩展政策:
{
"github": true,
"microsoft": true
}

如果策略值存在语法错误,扩展。允许设置未被应用。你可以在VS Code中查看窗口日志是否有错误(按⇧⌘P(Windows,Linux的Ctrl+Shift+P)并输入显示窗口日志)。
允许的扩展设置值
该扩展。允许setting 包含一系列扩展选择器,用于决定哪些扩展被允许或被阻挡。你可以指定以下类型的扩展选择器:
- 允许或阻止出版商的所有扩展
- 允许或阻断特定的扩展
- 允许特定扩展版本
- 允许特定扩展版本和平台
- 只允许扩展的稳定版本
- 只允许发布商提供的稳定扩展版本
以下 JSON 片段展示了不同型号的示例settings(extensions.allowed)设定价值观:
"extensions.allowed": {
// Allow all extensions from the 'microsoft' publisher. If the key does not have a '.', it means it is a publisher 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"],
// Allow version 5.0.0 of the rust extension on Windows and macOS
"rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"],
// Allow only stable versions of the GitHub Pull Requests extension
"github.vscode-pull-request-github": "stable",
// Allow only stable versions from redhat publisher
"redhat": "stable",
}
请通过出版商ID指定出版商。如果键没有句号(.),它被视为出版商ID。如果密钥带有句号,则视为扩展ID。目前不支持使用万能牌。
你可以使用微软作为发布者ID,用来指代Microsoft发布的所有扩展,尽管它们可能有不同的发布者ID。
不支持版本范围。如果你想允许多个版本的扩展,必须分别指定每个版本。为了进一步限制各平台版本,请使用符号指定平台。例如,@“rust-lang.rust-analyzer”: [“5.0.0@win32-x64”, “5.0.0@darwin-x64”].
选择者越具体,优先级越高。例如,“微软”:确实如此以及“Microsoft.cplusplus”: false允许使用所有 Microsoft 扩展,唯独不允许 C++ 扩展。
不支持重复的键值。例如,包含两者“微软”:确实如此以及“微软”:错误结果是政策无效。
预安装扩展
你可以用预装的扩展(引导程序)来设置 VS Code。当你准备机器映像、虚拟机或云工作站时,预装了VS Code且用户可以立即使用特定扩展,这一功能非常有用。
目前仅支持 Windows 上的预装扩展。
请按照以下步骤启动扩展:
-
创建一个文件夹
自助/扩展在VS Code安装目录中。 -
下载你想预装的扩展的VSIX文件,然后放到
自助/扩展文件夹。 -
当用户首次启动 VS Code 时,所有扩展
自助/扩展文件夹会在后台静默安装。
用户仍然可以卸载预装的扩展。卸载扩展后重启VS Code不会重新安装扩展。
托管一个私人扩展市场
私有市场使企业能够在组织内自托管和分发扩展,以满足组织的安全和合规要求。私有市场与VS Code扩展体验集成,方便用户发现并自动更新私有扩展。
不支持从 VS Code Server 或 VS Code for the Web 连接。
使用场景
- 私下托管内部扩展以保护知识产权。
- 即使在网络连接受限的环境中,开发者也能访问Visual Studio Marketplace的部分或全部扩展。
- 从外部来源下载并重新托管扩展,以应用企业特定的验证和安全标准。看看Microsoft如何保护您的软件供应链。
主要特征
- 自托管:在您自己的基础设施(如 Azure 或 Kubernetes)上托管内部和下载的扩展。
- 简单部署:将私有市场部署为无状态的 Docker 容器,无需外部数据库。
- 灵活存储:使用任何文件系统或Azure工件发布和管理扩展。
- 上流:选择自动包含Visual Studio市场的公共扩展。通过设置允许列表来允许或拒绝选择扩展。
- 重托管:选择下载和托管公共扩展,以增强安全性,支持无公共互联网连接的环境(空隙)。
- 集中部署:在Windows和macOS上使用组策略将私有市场部署到团队。
- 集成安装与更新:可直接从 VS Code 搜索并安装扩展,私有市场中新版本会自动更新。
- 跨平台支持:兼容Windows、macOS和Linux上的VS Code桌面版。
可获得性
私有市场目前对GitHub Enterprise客户开放。VS Code 用户必须使用 GitHub Enterprise 或 Copilot Enterprise/Business 账户登录才能访问私人市场。
入门
有关部署说明、脚本和开发环境配置,请参阅部署与功能指南。如果您有疑问或需要帮助,请联系私人市场支持。