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

通过策略集中管理 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 开始,每个发布版本都附带一个政策包含定义可用策略的ADMX模板文件的目录。

您可以从现有安装或通过下载和解压VS Code压缩档案来获取ADMX和ADML文件。按照以下步骤获取文件:

  1. 下载 VS Code 压缩包 以获取您版本的 VS Code。
  2. 将压缩文件解压到临时位置。
  3. 导航到政策解压文件中的文件夹。该文件夹包含ADMX模板文件(例如,vscode.admx) 和一个本地商店子文件夹包含不同语言的ADML文件。

步骤 2:配置策略值

根据您的需求编辑策略值:

字符串策略 - 接受文本值或JSON字符串的策略:

<!-- 例子:允许来自特定发布者的扩展 -->
<key>允许的扩展</key>
<字符串>{"微软": true, "GitHub": true}</字符串>

<!-- 示例:将更新模式设置为特定值 -->
<key>UpdateMode</key>
<string>start</string>
重要

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

布尔策略 - 接受 true/false 值的策略:

<!-- 示例:启用用户反馈 -->
<>启用反馈</>
</>

<!-- 示例:禁用遥测 -->
<key>EnableTelemetry</key>
<false/>

移除不需要的策略 - 删除任何你不希望执行的策略的键和值:

<!-- 不要强制执行更新模式策略,请删除这些行: -->
<key>UpdateMode</key>
<string>start</string>

请参阅政策参考中有关每个政策的接受值和行为的详细信息。

步骤 3:部署策略

现在,您可以使用设备管理解决方案将配置的策略大规模部署到组织中的所有相关设备。在使用本地组策略编辑器将策略大规模部署之前,您可以在本地 Windows 机器上手动测试这些策略。

大规模部署策略

产品如Microsoft Intune或Active Directory组策略可以用于在组织中大规模地集中管理设备策略。这些解决方案允许管理员从中央位置部署ADMX/ADML文件和策略配置到多个设备。

对于Active Directory环境,将ADMX和ADML文件复制到中央存储库,以使策略在整个域中可用。

在本地机器上手动测试策略

如果您想在大规模部署之前在本地 Windows 机器上测试策略,可以手动安装 ADMX/ADML 文件,并使用本地组策略编辑器配置策略。

请按照以下步骤在本地 Windows 机器上配置 VS Code 策略:

Step 1: Install the policy definition files

  1. Copy the vscode.admx file to C:\Windows\PolicyDefinitions.
  2. Copy the appropriate ADML file from the locales subfolder (for example, en-US\vscode.adml) to C:\Windows\PolicyDefinitions\<your-locale> (for example, C:\Windows\PolicyDefinitions\en-US).
Note

You need administrator privileges to copy files to the PolicyDefinitions directory.

Step 2: Open the Local Group Policy Editor

  1. Press Windows+R to open the Run dialog.
  2. Type gpedit.msc and press Enter to open the Local Group Policy Editor.
  3. If prompted by User Account Control, select Yes to allow the app to make changes.

Step 3: Navigate to VS Code policies

The VS Code policies are available under both Computer Configuration and User Configuration:

  • Computer Configuration > Administrative Templates > Microsoft VS Code
  • User Configuration > Administrative Templates > Microsoft VS Code
Tip

Computer-level policies take precedence over user-level policies when both are configured.

Step 4: Configure a policy

  1. Select the policy category (either Computer Configuration or User Configuration).
  2. Navigate to Administrative Templates > Microsoft VS Code.
  3. Double-click on the policy you want to configure (for example, Update Mode).
  4. In the policy settings dialog, select Enabled to enforce the policy.
  5. 使用可用选项或文本字段配置策略值。
  6. 选择 确定 以保存更改。
  7. 关闭本地组策略编辑器。

该策略将在下次启动 VS Code 时生效。某些策略可能需要重启 Windows 才能生效。

macOS 配置配置文件

配置配置文件管理macOS设备上的设置。配置文件是一个XML文件.mobileconfig) 与对应可用策略的关键/值对。

这些配置文件可以通过移动设备管理(MDM)解决方案进行部署,或者手动安装到单个设备上。

步骤 1: 获取示例配置文件

从 VS Code 版本 1.99 开始,每个发布版本都附带一个示例.mobileconfig文件。按照以下步骤在已安装 VS Code 的 macOS 设备上找到示例文件:

  1. 打开Finder并导航到/应用程序输入:.
  2. 右键单击Visual Studio Code.app (或您的 VS Code 变体),然后选择显示包内容。
  3. 导航到内容/资源/应用程序/政策输入:.
  4. 找到样本.mobileconfig文件(例如,vscode-sample.mobileconfig)。

步骤 2:配置策略值

  1. 复制样本.mobileconfig将文件移动到工作位置(例如,您的桌面或文档文件夹)。

  2. 在文本编辑器中打开复制的文件(例如,TextEdit、VS Code 或任何 XML 编辑器)。

  3. 根据您的需求编辑策略值:

    字符串策略 - 接受文本值或JSON字符串的策略:

    <!-- 例子:允许来自特定发布者的扩展 -->
    <key>允许的扩展</key>
    <字符串>{"微软": true, "GitHub": true}</字符串>
    
    <!-- 示例:将更新模式设置为特定值 -->
    <key>UpdateMode</key>
    <string>start</string>
    
    重要

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

    布尔策略 - 接受 true/false 值的策略:

    <!-- 示例:启用用户反馈 -->
    <>启用反馈</>
    </>
    
    <!-- 示例:禁用遥测 -->
    <key>EnableTelemetry</key>
    <false/>
    

    移除不需要的策略 - 删除任何你不希望执行的策略的键和值:

    <!-- 不要强制执行更新模式策略,请删除这些行: -->
    <key>UpdateMode</key>
    <string>start</string>
    

参阅策略参考,了解每个策略的接受值和行为。

步骤 3:部署策略

您现在可以使用MDM解决方案将配置的策略大规模部署到您的组织中的所有相关设备。在大规模部署之前,您可以在本地机器上手动测试这些策略。

大规模部署配置文件

对于在多个设备上的企业部署,使用移动设备管理(MDM)解决方案,例如:

有关配置文件的更多信息,请参阅Apple的文档

在本地机器上手动测试策略

手动配置策略

请按照以下步骤在macOS设备上手动测试VS Code策略配置,然后再大规模部署:

步骤 1:安装配置文件

  1. 保存您的编辑.mobileconfig文件。
  2. 双击.mobileconfig在Finder中打开文件。
  3. 系统设置(或在较早版本的macOS中的系统偏好设置)将打开。
  4. 查看配置文件详细信息并选择安装(或继续,取决于您的 macOS 版本)。
  5. 如果提示,请使用您的管理员凭据进行身份验证。
  6. Confirm the installation when prompted.

Step 2: Verify the profile installation

  1. Open System Settings (macOS Ventura and later) or System Preferences (earlier versions).
  2. Navigate to Privacy & Security > Profiles (or General > Device Management on older versions).
  3. Verify that your VS Code configuration profile appears in the list.
  4. Launch VS Code to see the policies in effect.
Note

Policies take effect immediately for new VS Code instances. You may need to restart VS Code if it's already running.

Remove a configuration profile

To remove policies and revert to default settings:

  1. 打开 系统设置 > 隐私和安全 > 个人资料.
  2. 选择 VS Code 配置文件。
  3. 选择移除(或-)按钮。
  4. 使用您的管理员凭证进行身份验证以确认删除。

Linux JSON 政策

从 VS Code 版本 1.106 开始,您可以在 Linux 设备上通过将 JSON 策略文件放置在来配置 VS Code 设置策略。/etc/vscode/policy.json这种方法使用简单的JSON格式来定义策略值。

这些配置文件可以通过移动设备管理(MDM)解决方案进行部署,或者手动安装到单个设备上。

步骤 1:获取示例策略文件

从 VS Code 版本 1.106 开始,每个发布版本都附带一个示例.polic.json文件。您可以从现有的安装或通过下载并解压VS Code档案来获取该文件。该文件位于资源/应用程序/政策目录。

步骤 2:配置策略值

  1. 复制样本policy.json将文件移动到工作目录:

    超级用户权限 复制 /usr/share/code/resources/app/policies/policy.json /tmp/policy.json
    
  2. 使用您喜欢的文本编辑器编辑文件:

    以超级用户身份使用nano /tmp/policy.json
    # 或
    以超级用户身份使用vim /tmp/policy.json
    # 或
    使用code /tmp/policy.json
    
  3. 根据您的需求编辑策略值:

    字符串策略 - 接受文本值或JSON字符串的策略:

    <!-- 例子:允许来自特定发布者的扩展 -->
    <key>允许的扩展</key>
    <字符串>{"微软": true, "GitHub": true}</字符串>
    
    <!-- 示例:将更新模式设置为特定值 -->
    <key>UpdateMode</key>
    <string>start</string>
    
    重要

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

    布尔策略 - 接受 true/false 值的策略:

    <!-- 示例:启用用户反馈 -->
    <>启用反馈</>
    </>
    
    <!-- 示例:禁用遥测 -->
    <key>EnableTelemetry</key>
    <false/>
    

    移除不需要的策略 - 删除任何你不希望执行的策略的键和值:

    <!-- 不要强制执行更新模式策略,请删除这些行: -->
    <key>UpdateMode</key>
    <string>start</string>
    

参阅策略参考,了解每个策略的接受值和行为。

步骤 3:部署策略

您现在可以使用MDM解决方案将配置的策略大规模部署到您的组织中的所有相关设备。在大规模部署之前,您可以在本地机器上手动测试这些策略。

大规模部署策略

对于在多个设备上部署企业Linux,请使用配置管理工具,如Ansible、Puppet、Chef或Salt来部署policy.json文件。

这些工具允许管理员远程在组织中的所有受管Linux设备上部署、更新和删除策略。

在本地机器上手动测试策略

步骤 1:复制策略文件

  1. 确保/ etc/vscode目录已存在:

    超级用户权限 创建目录 -p /etc/vscode
    
    注意

    您需要 root 或 sudo 权限来创建目录并管理策略文件/ etc/vscode输入:.

  2. 复制编辑后的策略文件到/ etc/vscode/系统位置:

    超级用户 复制 /tmp/policy.json /etc/vscode/policy.json
    

    设置适当的权限:

    sudo chmod 644 /etc/vscode/policy.json
    sudo chown root:root /etc/vscode/policy.json
    

Step 2: Verify the policy installation

  1. Launch VS Code (or restart it if already running).
  2. Open File > Preferences > Settings (or press Ctrl+,).
  3. Look for settings that correspond to your configured policies - they should show as "managed by your organization" or have a lock icon.
  4. Hover over managed settings to see that they are controlled by policy.
Tip

You can verify the policy file is being read by checking VS Code's logs or by attempting to change a managed setting (the change will be prevented).

Remove policies

要移除所有策略并恢复默认设置,请删除/etc/vscode/policy.json保存并重启 VS Code。

VS Code 企业策略参考

以下表格列出了 VS Code 中所有可用的企业策略。

政策名称 设置 ID 描述 最低版本
McpGalleryServiceUrl
chat.mcp.gallery.serviceUrl
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
配置MCP Gallery服务URL以进行连接 1.101
扩展画廊服务网址
extensions.gallery.serviceUrl
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
配置市场服务URL以进行连接 1.99
允许的扩展名
扩展允许
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
指定允许使用的扩展列表。这有助于通过限制未经授权的扩展的使用来维护安全和一致的开发环境。更多信息:https://aka.ms/vscode/enterprise/extensions/allowed 1.96
聊天工具自动批准
chat.tools.global.autoApprove
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
全局自动批准也称为“即兴模式”,完全禁用了所有工作区中所有工具的手动批准,使代理能够完全自主地行动。这是非常危险的,即使在像Codespaces和Dev Containers这样的容器化环境中,用户密钥也会被转发到容器中,可能会被攻击。这个功能会禁用重要的安全保护,使攻击者更容易攻击机器。 1.99
聊天工具符合自动批准条件
chat.tools.eligibleForAutoApproval
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
控制哪些工具可以自动批准。设置为“false”的工具将始终提示确认,从不会提供自动批准的选项。默认行为(或设置工具为“true”)可能会导致工具提供自动批准选项。 1.107
聊天MCP
chat.mcp.access
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
控制对已安装的模型上下文协议服务器的访问。 1.99
聊天代理扩展工具
chat.extensionTools.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
启用第三方扩展提供的工具。 1.99
聊天代理模式
聊天代理启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
启用后,代理模式可以在聊天和工具中激活,并且可以使用具有副作用的功能。 1.99
聊天钩子
chat.useHooks
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
控制聊天钩子是否在代理工作流程的 strategic 点执行。钩子从在文件中配置的 #chat.hookFilesLocations#输入:. 1.109
聊天工具终端启用自动批准
chat.tools.terminal.enableAutoApprove
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
控制是否允许在运行终端工具中自动批准。 1.104
更新模式
更新模式
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
配置是否接收自动更新。更改后需要重启。更新从微软在线服务获取。 1.67
遥测级别
遥测.遥测级别
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
控制遥测的级别。 1.99
启用反馈
遥测反馈启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织
启用反馈机制,例如问题报告人、调查和其他反馈选项。 1.99
注意

如果你想实施更多的政策,请在VS Code GitHub 仓库中打开一个 issue。团队会决定是否已经有针对该行为的相应设置,或者是否需要创建新的设置和政策。