通过策略集中管理 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 模板文件的目录。

你可以从现有安装中获取 ADMX 和 ADML 文件,也可以通过下载并解压 VS Code 压缩包来获取。请按照以下步骤获取这些文件:

  1. 下载你版本的VS Code压缩包
  2. 将压缩包解压到临时位置。
  3. 导航至该政策在提取文件中。该文件夹包含 ADMX 模板文件(例如,vscode.admx) 以及地点包含不同语言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并输入显示窗口日志)。

布尔策略——接受真/假值的策略:

<!-- 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:安装策略定义文件

  1. 复制vscode.admx文件C:\Windows\PolicyDefinitions.
  2. 从以下文件复制相应的ADML文件地点子文件夹(例如,en-US\vscode.adml) 到C:\Windows\PolicyDefinitions\<your-locale>(例如,C:\Windows\PolicyDefinitions\en-US).
注释

你需要管理员权限来复制文件到政策定义目录。

步骤2:打开本地组策略编辑器

  1. 媒体Windows+R以打开运行对话框。
  2. 类型gpedit.msc并按回车打开本地组策略编辑器。
  3. 如果用户账户控制提示,选择“是”以允许应用进行更改。

步骤3:导航VS Code政策

VS Code 策略可在计算机配置和用户配置两个选项中获得:

  • 计算机配置>管理模板 > Microsoft VS Code
  • 用户配置 > 管理模板 > Microsoft VS Code
提示

当计算机层级策略同时配置时,计算机层级策略优先于用户层级策略。

步骤4:配置策略

  1. 选择策略类别(计算机配置或用户配置)。
  2. 导航到Microsoft VS Code>管理模板
  3. 双击你想配置的策略(例如,更新模式)。
  4. 在策略设置对话框中,选择启用以强制执行该策略。
  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文件(例如,VSoD-sample.Mobileconfig).

步骤2:配置策略值

  1. 复制样本.mobileconfig文件存放到工作位置(例如,桌面或文档文件夹)。

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

  3. 根据您的需求编辑保单价值:

    字符串策略——接受文本值或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并输入显示窗口日志)。

    布尔策略——接受真/假值的策略:

    <!-- 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)解决方案:

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

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

手动配置策略

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

步骤1:安装配置文件

  1. 保存你的编辑内容.mobileconfig档案。
  2. 双击.mobileconfig在Finder中存档。
  3. 系统设置(旧版macOS的系统偏好设定)会打开。
  4. 查看配置文件详情,选择安装(或根据你的macOS版本选择继续)。
  5. 如果被要求,使用管理员凭证进行身份验证。
  6. 提示时确认安装。

步骤2:验证配置文件安装

  1. 打开系统设置(macOS Ventura及以后版本)或系统偏好设置(早期版本)。
  2. 进入隐私与安全>配置文件(旧版本中为通用>设备管理)。
  3. 请确认你的VS Code配置文件是否出现在列表中。
  4. 启动 VS Code 查看策略的生效情况。
注释

新的 VS Code 实例的策略立即生效。如果VS Code已经运行,可能需要重启它。

移除配置配置文件

要移除策略并恢复到默认设置:

  1. 开放系统设置>隐私与安全>配置文件
  2. 选择VS Code配置文件。
  3. 选择“删除”(或“-)”按钮。
  4. 用管理员凭证验证以确认删除。

Linux JSON 策略

从 VS Code 1.106 版本开始,你可以通过在/等等/VScode/policy.json.该方法使用简单的 JSON 格式来定义策略值。

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

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

从VS Code 1.106版本开始,每个版本都会附带一个样本.policy.json档案。你可以从现有安装中获取,或者下载并解压VS Code归档。该文件位于资源/应用/政策目录。

步骤2:配置策略值

  1. 复制样本policy.json归档至工作地点:

    sudo cp /usr/share/code/resources/app/policies/policy.json /tmp/policy.json
    
  2. 使用您偏好的文本编辑器编辑文件:

    sudo nano /tmp/policy.json
    # or
    sudo vim /tmp/policy.json
    # or
    code /tmp/policy.json
    
  3. 根据您的需求编辑保单价值:

    字符串策略——接受文本值或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并输入显示窗口日志)。

    布尔策略——接受真/假值的策略:

    <!-- 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:复制政策文件

  1. 确保/etc/VSCODE目录存在:

    sudo mkdir -p /etc/vscode
    
    注释

    你需要root权限或sudo权限来创建目录并管理策略文件/etc/VSCODE.

  2. 将编辑后的策略文件复制到/等等/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:验证策略安装

  1. 启动VS Code(如果已经运行了,则重启)。
  2. 打开文件>偏好设置>设置(或点击Ctrl+,).
  3. 找与你配置的策略对应的设置——它们应该显示为“由你的组织管理”或带有锁定图标。
  4. 将鼠标悬停在托管设置上,可以看到它们是由策略控制的。
提示

你可以通过查看VS Code日志或尝试更改受管理设置来确认策略文件是否被读取(更改将被阻止)。

移除政策

要移除所有策略并恢复到默认设置,请删除/等等/VScode/policy.json文件并重启 VS Code。

VS Code 企业策略参考

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

保单名称 设置ID 描述 最小版本
McpGalleryServiceUrl
chat.mcp.gallery.service网址
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
配置MCP图库服务URL以连接 1.101
扩展画廊服务网址
extensions.gallery.serviceUrl
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
配置市场服务URL以连接 1.99
允许的扩展
扩展。允许
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
指定允许使用的扩展列表。这有助于通过限制未经授权扩展的使用,维持安全且一致的开发环境。更多信息请参见:https://aka.ms/vscode/enterprise/extensions/allowed 1.96
ChatToolsAutoApprove
chat.tools.global.autoApprove
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
全局自动批准,也称为“YOLO模式”,完全禁用所有工作区工具的手动审批,使代理能够完全自主地行动。这极其危险,绝不推荐,即使是像 Codespaces 和开发容器这样的容器化环境,用户密钥也会被转发到容器中,可能被攻破。此功能会禁用关键的安全保护,使攻击者更容易攻破机器。 1.99
ChatTools有资格进行自动批准
chat.tools.eligible自动批准
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
控制哪些工具符合自动审批资格。设置为“false”的工具总是会显示确认,且永远不会提供自动批准的选项。默认行为(或将工具设置为“true”)可能导致工具提供自动批准选项。 1.107
ChatMCP
Chat.mcp.access
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
控制对已安装模型上下文协议服务器的访问。 1.99
ChatAgentExtensionTools
chat.extensionTools.enabled
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
启用第三方扩展提供的工具。 1.99
聊天代理模式
chat.agent.enabled
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
启用后,可以从聊天中激活代理模式,并使用带有副作用的代理语境工具。 1.99
聊天钩
chat.useHooks
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
控制聊天钩子是否在客服工作流程中的战略节点执行。钩子是从配置的文件加载的#chat.hookFilesLocations#. 1.109
ChatToolsTerminalEnableAutoApprove
chat.tools.terminal.enableAutoApprove
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
控制运行终端工具是否允许自动批准。 1.104
更新模式
更新.mode
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
设置是否会收到自动更新。更改后需要重启。这些更新是从Microsoft在线服务获取的。 1.67
遥测水平
遥测。遥测水平
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
控制遥测水平。 1.99
赋能反馈
遥测.feedback.enabled
  • 在VS代码中打开
  • 在VS Code Insiders中开放
组织
启用反馈机制,如问题报告员、调查和其他反馈选项。 1.99
注释

如果你想执行更多策略,可以在VS Code GitHub仓库中打开一个问题。团队将判断是否已有对应的行为设置,或是否应创建新的设置和政策。