集中管理 VS Code 设置,使用策略
Visual Studio Code 中的企业策略使组织能够集中管理开发团队的 VS Code 设置,以确保组织内的一致性和兼容性。当设置了策略值时,该值将覆盖在任何级别(默认、用户和工作区)配置的 VS Code 设置值。
IT 管理员可以通过不同的设备管理解决方案在用户的设备上部署和强制执行特定的 VS Code 配置。VS Code 支持在 Windows、macOS 和 Linux 上应用策略。

在本文中,你将了解 VS Code 中可用的企业策略以及如何在不同的操作系统上配置它们。
Windows 组策略
VS Code 支持 基于 Windows 注册表的组策略。
可以使用移动设备管理 (MDM) 解决方案部署这些配置文件,也可以手动安装在单个设备上。
步骤 1:获取示例 ADMX 和 ADML 文件
从 VS Code 1.69 版本开始,每个发布版本都包含一个 `policies` 目录,其中包含定义可用策略的 ADMX 模板文件。
你可以从现有安装获取 ADMX 和 ADML 文件,也可以通过下载和提取 VS Code zip 存档来获取。请按照以下步骤获取文件
- 下载适用于你的 VS Code 版本的 VS Code zip 存档。
- 将 zip 文件提取到临时位置。
- 导航到提取的文件中的 `policies` 文件夹。此文件夹包含 ADMX 模板文件(例如,`vscode.admx`)和一个 `locales` 子文件夹,其中包含不同语言的 ADML 文件。
步骤 2:配置策略值
根据你的要求编辑策略值
字符串策略 - 接受文本值或 JSON 字符串的策略
<!-- Example: Allow extensions from specific publishers -->
<key>AllowedExtensions</key>
<string>{"microsoft": true, "github": true}</string>
<!-- Example: Set update mode to a specific value -->
<key>UpdateMode</key>
<string>start</string>
如果策略值存在语法错误,则该设置将不会应用。你可以在 VS Code 的窗口日志中检查错误(按 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 并输入 显示窗口日志)。
布尔策略 - 接受 true/false 值的策略
<!-- Example: Enable user feedback -->
<key>EnableFeedback</key>
<true/>
<!-- Example: Disable telemetry -->
<key>EnableTelemetry</key>
<false/>
删除不需要的策略 - 删除你不想强制执行的任何策略的键和值
<!-- To not enforce an update mode policy, remove these lines: -->
<key>UpdateMode</key>
<string>start</string>
请参阅下面的 策略参考,了解有关每个策略的接受值和行为的详细信息。
步骤 3:部署策略
现在,你可以使用设备管理解决方案将配置的策略大规模部署到组织中的所有相关设备。可以使用本地组策略编辑器在本地 Windows 计算机上手动测试策略,然后再大规模部署。
大规模部署策略
可以使用诸如 Microsoft Intune 或 Active Directory 组策略之类的产品来集中管理组织内跨设备的设备策略。这些解决方案允许管理员从中心位置部署 ADMX/ADML 文件和策略配置到多个设备。
对于 Active Directory 环境,将 ADMX 和 ADML 文件复制到 中央存储库,以使策略在整个域中可用。
手动测试本地计算机上的策略
如果你想在大规模部署之前在本地 Windows 计算机上测试策略,可以使用本地组策略编辑器手动安装 ADMX/ADML 文件并配置策略。
请按照以下步骤在本地 Windows 计算机上配置 VS Code 策略
步骤 1:安装策略定义文件
- 将 `vscode.admx` 文件复制到 `C:\Windows\PolicyDefinitions`。
- 将适当的 ADML 文件从 `locales` 子文件夹(例如,`en-US\vscode.adml`)复制到 `C:\Windows\PolicyDefinitions\<你的语言环境>`(例如,`C:\Windows\PolicyDefinitions\en-US`)。
需要管理员权限才能将文件复制到 `PolicyDefinitions` 目录。
步骤 2:打开本地组策略编辑器
- 按
Windows+R打开“运行”对话框。 - 键入
gpedit.msc并按 Enter 打开本地组策略编辑器。 - 如果用户帐户控制提示,请选择 “是” 以允许该应用进行更改。
步骤 3:导航到 VS Code 策略
VS Code 策略在“计算机配置”和“用户配置”下都可用
- 计算机配置 > 管理模板 > Microsoft VS Code
- 用户配置 > 管理模板 > Microsoft VS Code
当同时配置了计算机级别策略和用户级别策略时,计算机级别策略优先。
步骤 4:配置策略
- 选择策略类别(“计算机配置”或“用户配置”)。
- 导航到 管理模板 > Microsoft VS Code。
- 双击你要配置的策略(例如,更新模式)。
- 在策略设置对话框中,选择 已启用 以强制执行策略。
- 使用可用选项或文本字段配置策略值。
- 选择 “确定” 以保存更改。
- 关闭本地组策略编辑器。
下次启动 VS Code 时,策略将生效。某些策略可能需要重新启动 Windows 才能生效。
macOS 配置方案
配置方案管理 macOS 设备上的设置。配置文件是一个 XML 文件 (.mobileconfig),其中包含与可用策略对应的键/值对。
可以使用移动设备管理 (MDM) 解决方案部署这些配置文件,也可以手动安装在单个设备上。
步骤 1:获取示例配置方案
从 VS Code 1.99 版本开始,每个发布版本都附带一个示例 .mobileconfig 文件。请按照以下步骤在安装了 VS Code 的 macOS 设备上找到示例文件
- 打开 Finder 并导航到
/Applications。 - 右键单击 Visual Studio Code.app(或你的 VS Code 变体)并选择 显示包内容。
- 导航到
Contents/Resources/app/policies。 - 找到示例
.mobileconfig文件(例如,vscode-sample.mobileconfig)。
步骤 2:配置策略值
-
将示例
.mobileconfig文件复制到工作位置(例如,你的桌面或“文档”文件夹)。 -
在文本编辑器(例如,TextEdit、VS Code 或任何 XML 编辑器)中打开复制的文件。
-
根据你的要求编辑策略值
字符串策略 - 接受文本值或 JSON 字符串的策略
<!-- Example: Allow extensions from specific publishers --> <key>AllowedExtensions</key> <string>{"microsoft": true, "github": true}</string> <!-- Example: Set update mode to a specific value --> <key>UpdateMode</key> <string>start</string>重要如果策略值存在语法错误,则该设置将不会应用。你可以在 VS Code 的窗口日志中检查错误(按 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 并输入 显示窗口日志)。
布尔策略 - 接受 true/false 值的策略
<!-- Example: Enable user feedback --> <key>EnableFeedback</key> <true/> <!-- Example: Disable telemetry --> <key>EnableTelemetry</key> <false/>删除不需要的策略 - 删除你不想强制执行的任何策略的键和值
<!-- To not enforce an update mode policy, remove these lines: --> <key>UpdateMode</key> <string>start</string>
请参阅下面的 策略参考,了解有关每个策略的接受值和行为的详细信息。
步骤 3:部署策略
现在,你可以使用 MDM 解决方案将配置的策略大规模部署到组织中的所有相关设备。可以在大规模部署之前手动测试本地计算机上的策略。
大规模部署配置文件
对于跨多个设备的的企业部署,请使用移动设备管理 (MDM) 解决方案,例如
- Microsoft Intune
- Apple Business Manager 与 MDM
有关配置方案的更多信息,请参阅 Apple 的文档。
手动测试本地计算机上的策略
手动配置策略
请按照以下步骤在 macOS 设备上手动测试你的 VS Code 策略配置,然后再大规模部署
步骤 1:安装配置方案
- 保存你编辑过的
.mobileconfig文件。 - 在 Finder 中双击
.mobileconfig文件。 - 系统设置(或旧版 macOS 上的“系统偏好设置”)将打开。
- 查看配置文件详细信息,然后选择 安装(或取决于你的 macOS 版本选择 继续)。
- 如果提示,请使用你的管理员凭据进行身份验证。
- 确认安装提示时。
步骤 2:验证配置文件安装
- 打开 系统设置(macOS Ventura 及更高版本)或 系统偏好设置(早期版本)。
- 导航到 隐私与安全性 > 配置文件(或旧版本上的 常规 > 设备管理)。
- 验证你的 VS Code 配置方案是否出现在列表中。
- 启动 VS Code 以查看策略生效。
策略对新的 VS Code 实例立即生效。如果 VS Code 已经运行,你可能需要重新启动它。
删除配置方案
要删除策略并恢复到默认设置
- 打开 系统设置 > 隐私与安全性 > 配置文件。
- 选择 VS Code 配置方案。
- 选择 删除 (或 -) 按钮。
- 使用你的管理员凭据确认删除。
Linux JSON 策略
从 VS Code 1.106 版本开始,你可以通过将 JSON 策略文件放置在 /etc/vscode/policy.json 上来配置 Linux 设备上的 VS Code 设置策略。这种方法使用简单的 JSON 格式来定义策略值。
可以使用移动设备管理 (MDM) 解决方案部署这些配置文件,也可以手动安装在单个设备上。
步骤 1:获取示例策略文件
从 VS Code 1.106 版本开始,每个发布版本都附带一个示例 .policy.json 文件。你可以从现有安装或通过下载和提取 VS Code 存档来获取它。该文件位于 resources/app/policies 目录中。
步骤 2:配置策略值
-
将示例
policy.json文件复制到工作位置sudo cp /usr/share/code/resources/app/policies/policy.json /tmp/policy.json -
使用你喜欢的文本编辑器编辑该文件
sudo nano /tmp/policy.json # or sudo vim /tmp/policy.json # or code /tmp/policy.json -
根据你的要求编辑策略值
字符串策略 - 接受文本值或 JSON 字符串的策略
<!-- Example: Allow extensions from specific publishers --> <key>AllowedExtensions</key> <string>{"microsoft": true, "github": true}</string> <!-- Example: Set update mode to a specific value --> <key>UpdateMode</key> <string>start</string>重要如果策略值存在语法错误,则该设置将不会应用。你可以在 VS Code 的窗口日志中检查错误(按 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 并输入 显示窗口日志)。
布尔策略 - 接受 true/false 值的策略
<!-- Example: Enable user feedback --> <key>EnableFeedback</key> <true/> <!-- Example: Disable telemetry --> <key>EnableTelemetry</key> <false/>删除不需要的策略 - 删除你不想强制执行的任何策略的键和值
<!-- To not enforce an update mode policy, remove these lines: --> <key>UpdateMode</key> <string>start</string>
请参阅下面的 策略参考,了解有关每个策略的接受值和行为的详细信息。
步骤 3:部署策略
现在,你可以使用 MDM 解决方案将配置的策略大规模部署到组织中的所有相关设备。可以在大规模部署之前手动测试本地计算机上的策略。
大规模部署策略
对于跨多个设备的的企业 Linux 部署,请使用配置管理工具,例如 Ansible、Puppet、Chef 或 Salt,来部署 policy.json 文件。
这些工具允许管理员远程跨所有受管 Linux 设备部署、更新和删除策略。
手动测试本地计算机上的策略
步骤 1:复制策略文件
-
确保
/etc/vscode目录存在sudo mkdir -p /etc/vscode注意你需要 root 或 sudo 权限才能创建目录并在
/etc/vscode中管理策略文件。 -
将编辑后的策略文件复制到
/etc/vscode/系统位置sudo cp /tmp/policy.json /etc/vscode/policy.json设置适当的权限
sudo chmod 644 /etc/vscode/policy.json sudo chown root:root /etc/vscode/policy.json
步骤 2:验证策略安装
- 启动 VS Code(或如果它已经运行,则重新启动)。
- 打开 文件 > 首选项 > 设置(或按
Ctrl+,)。 - 查找与你配置的策略对应的设置 - 它们应显示为“由你的组织管理”或带有锁定图标。
- 将鼠标悬停在受管设置上,以查看它们由策略控制。
你可以通过检查 VS Code 的日志或尝试更改受管设置(更改将被阻止)来验证是否正在读取策略文件。
删除策略
要删除所有策略并恢复到默认设置,请删除 /etc/vscode/policy.json 文件并重新启动 VS Code。
VS Code 企业策略参考
下表列出了 VS Code 中所有可用的企业策略。
| 策略名称 | 设置 ID | 描述 | 最低版本 |
|---|---|---|---|
ExtensionGalleryServiceUrl |
extensions.gallery.serviceUrl 组织 |
配置 Marketplace 服务 URL 以连接到 | 1.99 |
McpGalleryServiceUrl |
chat.mcp.gallery.serviceUrl 组织 |
配置 MCP Gallery 服务 URL 以连接到 | 1.101 |
AllowedExtensions |
extensions.allowed 组织 |
指定允许使用的扩展列表。这有助于通过限制未经授权的扩展的使用来维护安全且一致的开发环境。更多信息:https://aka.ms/vscode/enterprise/extensions/allowed | 1.96 |
ChatToolsAutoApprove |
chat.tools.global.autoApprove 组织 |
全局自动批准,也称为“YOLO 模式”,会完全禁用所有工具在所有工作区中的手动批准,允许代理完全自主地行动。这非常危险,绝不推荐,即使在容器化环境(如 Codespaces 和 Dev Containers)中,用户密钥也会转发到容器中,可能被泄露。此功能会禁用关键的安全保护措施,并使攻击者更容易攻陷机器。请注意:此设置仅控制工具批准,不会阻止代理提问。要自动回答代理的问题,请使用 #chat.autoReply# 设置。 |
1.99 |
ChatToolsEligibleForAutoApproval |
chat.tools.eligibleForAutoApproval 组织 |
控制哪些工具有资格自动批准。设置为“false”的工具将始终显示确认提示,并且永远不会提供自动批准的选项。默认行为(或将工具设置为“true”)可能会导致该工具提供自动批准选项。 | 1.107 |
ChatMCP |
chat.mcp.access 组织 |
控制对已安装的模型上下文协议服务器的访问权限。 | 1.99 |
ChatAgentExtensionTools |
chat.extensionTools.enabled 组织 |
启用使用第三方扩展贡献的工具。 | 1.99 |
ChatAgentMode |
chat.agent.enabled 组织 |
启用后,可以从聊天和代理上下文中激活代理模式,并可以使用具有副作用的工具。 | 1.99 |
ChatHooks |
chat.useHooks 组织 |
控制是否在代理的工作流程的战略点执行聊天钩子。钩子从在 #chat.hookFilesLocations# 中配置的文件中加载。 |
1.109 |
ChatToolsTerminalEnableAutoApprove |
chat.tools.terminal.enableAutoApprove 组织 |
控制是否允许在终端运行工具中自动批准。 | 1.104 |
UpdateMode |
update.mode 组织 |
配置是否接收自动更新。更改后需要重启。更新从 Microsoft 在线服务获取。 | 1.67 |
TelemetryLevel |
telemetry.telemetryLevel 组织 |
控制遥测级别。 | 1.99 |
EnableFeedback |
telemetry.feedback.enabled 组织 |
启用反馈机制,例如问题报告器、调查和其他反馈选项。 | 1.99 |
BrowserChatTools |
workbench.browser.enableChatTools |
启用后,聊天代理可以使用浏览器工具在集成浏览器中打开和交互页面。 | 1.110 |
如果您想实施更多策略,请在 VS Code GitHub 仓库 中提交 issue。团队将确定是否已经存在与该行为对应的设置,或者是否应该创建新的设置和策略。