在 VS Code 中试试

企业支持

Visual Studio Code 可用作各种规模企业团队的开发工具。作为 IT 管理员,您可以配置 VS Code,以在组织内实现一致性和兼容性。

网络:常见主机名

VS Code 中的少数功能需要网络通信才能工作,例如自动更新机制、查询和安装扩展以及遥测。为了使这些功能在代理环境中正常工作,必须正确配置产品。

有关所需域,请参阅网络常见主机名列表

配置允许的扩展

配置 VS Code 中的 extensions.allowed 应用程序范围设置,以控制哪些扩展可以安装。如果未配置此设置,则允许所有扩展。如果配置了此设置,则列表中未列出的所有扩展都将被阻止安装。如果您阻止了已安装的扩展或版本,则该扩展将被禁用。

要集中管理组织中允许的扩展,请使用设备管理工具(例如 Windows 组策略),创建策略来覆盖单个设备上的 VS Code 设置。

注意

对允许扩展的支持从 VS Code 1.96 版本开始提供。

extensions.allowed 设置包含一个扩展选择器列表,用于确定允许或阻止哪些扩展。您可以指定以下类型的扩展选择器:

  • 允许或阻止发布者的所有扩展
  • 允许或阻止特定扩展
  • 允许特定扩展版本
  • 允许特定扩展版本和平台
  • 仅允许扩展的稳定版本
  • 仅允许发布者的稳定扩展版本

以下 JSON 代码片段显示了不同 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 docker extension
    "ms-azuretools.vscode-docker": 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。目前不支持使用通配符。

提示

您可以使用 microsoft 作为发布者 ID 来指代所有由 Microsoft 发布的扩展,即使它们的发布者 ID 可能不同。

不支持版本范围。如果想允许某个扩展的多个版本,必须单独指定每个版本。要根据平台进一步限制版本,请使用 @ 符号指定平台。例如,"rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"]

选择器越具体,优先级越高。例如,"microsoft": true"microsoft.cplusplus": false 允许所有 Microsoft 扩展,但 C++ 扩展除外。

不支持重复的键值。例如,同时包含 "microsoft": true"microsoft": false 将导致策略无效。

如果想了解更多关于 VS Code 扩展的信息,请参阅扩展文档

集中管理允许的扩展

使用设备管理工具,集中控制组织中允许安装哪些扩展。配置 AllowedExtensions VS Code 策略,以覆盖用户设备上相应的 extensions.allowed VS Code 设置。此策略的值是一个包含允许扩展的 JSON 字符串。

Settings editor showing that the 'Extensions: Allowed' setting is managed by the organization.

重要提示

如果策略值中存在语法错误,则不应用 extensions.allowed 设置。您可以在 VS Code 中检查窗口日志以查找错误(按 ⇧⌘P(Windows、Linux Ctrl+Shift+P,然后输入 Show Window Log)。

配置自动更新

update.mode VS Code 设置控制当有新版本发布时 VS Code 是否自动更新。更新从 Microsoft 在线服务获取。

此设置有以下选项:

  • none - 更新已禁用
  • manual - 已禁用自动检查更新,但用户可以手动检查更新
  • start - 仅在 VS Code 启动时检查更新,已禁用自动检查更新
  • default - 已启用自动检查更新,并定期在后台运行

集中管理自动更新

使用设备管理工具,集中控制 VS Code 如何在组织中的设备上管理更新。配置 UpdateMode VS Code 策略,该策略将覆盖用户设备上相应的 update.mode VS Code 设置。此策略的值是一个包含更新模式的字符串。

配置遥测级别

telemetry.telemetryLevel VS Code 设置控制 VS Code 遥测、第一方扩展遥测和参与的第三方扩展遥测。某些第三方扩展可能不遵循此设置。阅读更多关于我们收集的数据

  • all - 发送使用数据、错误和崩溃报告
  • error - 发送一般错误遥测和崩溃报告
  • crash - 发送操作系统级崩溃报告
  • off - 禁用所有产品遥测

集中管理遥测级别

使用设备管理工具,集中控制组织中设备上的遥测级别。配置 TelemetryLevel VS Code 策略,该策略将覆盖用户设备上相应的 telemetry.telemetryLevel VS Code 设置。此策略的值是一个包含遥测级别的字符串。

配置反馈机制

telemetry.feedback.enabled VS Code 设置是一个布尔值,控制是否启用反馈机制,例如问题报告程序和调查。

集中管理反馈机制

使用设备管理工具,集中控制组织中设备上的反馈机制。配置 EnableFeedback VS Code 策略,该策略将覆盖用户设备上相应的 telemetry.feedback.enabled VS Code 设置。此策略的值是一个布尔值,指示是否启用或禁用反馈机制。

设备管理

您可以通过设备管理解决方案控制 VS Code 的特定功能,以确保其满足组织的需要。

VS Code 目前支持以下管理员控制的功能:

策略 描述 VS Code 设置 可用版本
AllowedExtensions 控制可以安装哪些扩展。 extensions.allowed 1.96
UpdateMode 控制当有新版本发布时 VS Code 是否自动更新。 update.mode 1.67
TelemetryLevel 控制遥测数据级别 telemetry.telemetryLevel 1.99
EnableFeedback 控制反馈机制,例如问题报告程序和调查 telemetry.feedback.enabled 1.99
ChatAgentMode 控制聊天代理是否启用的布尔值 chat.agent.enabled 1.99

Windows 组策略

VS Code 支持基于注册表的 Windows 组策略。从 VS Code 1.69 版本开始,每个版本都随附一个包含 ADMX 模板文件的 policies 目录,这些文件可以添加到以下路径:C:\Windows\PolicyDefinitions。确保同时将相应的 adml 文件复制到 C:\Windows\PolicyDefinitions\<your-locale> 目录。

安装策略定义后,管理员可以使用本地组策略编辑器来管理策略值。

策略可以在计算机级别和用户级别进行设置。如果两者都设置了,计算机级别将优先。设置策略值后,该值将覆盖在任何级别(默认、用户、工作区等)配置的 VS Code 设置值。

macOS 配置配置文件

配置配置文件管理 macOS 设备上的设置。配置文件是包含与可用策略对应的键/值对的 XML 文件。这些配置文件可以使用移动设备管理 (MDM) 解决方案部署,或手动安装。

从 VS Code 1.99 版本开始,每个版本都随附一个示例 .mobileconfig 文件。此文件位于 .app 包的 Contents/Resources/app/policies 目录下。使用文本编辑器手动编辑或删除策略以匹配您组织的要求。

提示

要查看 .app 包的内容,请在 Finder 中右键单击应用程序(例如,/Applications/Visual Studio Code.app),然后选择显示包内容

字符串策略

以下示例演示了 AllowedExtensions 策略的配置。示例文件中的策略值最初为空(不允许任何扩展)。

<key>AllowedExtensions</key>
<string></string>

<string> 标签之间添加定义您策略的相应的 JSON 字符串

<key>AllowedExtensions</key>
<string>{"microsoft": true, "github": true}</string>

其他策略,如 UpdateMode,接受一组预定义值中的字符串。

<key>UpdateMode</key>
<string>start</string>

布尔策略

布尔策略值用 <true/><false/> 表示。

<key>EnableFeedback</key>
<true/>

要忽略给定策略,请从 .mobileconfig 文件中删除其键/值对。例如,要不强制执行更新模式策略,请删除 UpdateMode 键及其后面的 <string></string> 标签。

重要提示

提供的 .mobileconfig 文件初始化该版本 VS Code 中可用的所有策略。删除任何不需要的策略。

如果不编辑或删除示例 .mobileconfig 中的策略,则该策略将以其默认(限制性)策略值强制执行。

通过在 Finder 中双击 .mobileconfig 配置文件,然后在“系统偏好设置”的通用 > 设备管理中启用它来手动安装配置配置文件。从“系统偏好设置”中删除配置文件将从 VS Code 中删除策略。

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

其他策略

目标是将当前的 VS Code 设置提升为策略并密切遵循现有设置,以使命名和行为保持一致。如果需要制定更多策略,请在 VS Code 的 GitHub 仓库中提出议题。团队将确定是否已存在针对该行为的相应设置,或者是否应创建新设置来控制所需行为。

使用预装扩展程序设置 VS Code

您可以使用一组预装的扩展程序(引导)设置 VS Code。此功能在准备预装了 VS Code 且特定扩展程序可立即供用户使用的机器映像、虚拟机或云工作站时非常有用。

注意

目前仅在 Windows 上支持预装扩展程序。

按照以下步骤引导扩展程序:

  1. 在 VS Code 安装目录中创建一个 bootstrap\extensions 文件夹。

  2. 下载要预装扩展程序的VSIX 文件,并将它们放置在 bootstrap\extensions 文件夹中。

  3. 用户首次启动 VS Code 时,bootstrap\extensions 文件夹中的所有扩展程序将在后台静默安装。

用户仍可以卸载预装的扩展程序。卸载扩展程序后重新启动 VS Code 不会重新安装该扩展程序。

常见问题解答

VS Code 是否支持 Linux 上的配置配置文件?

Linux 支持不在路线图上。如果您对 Linux 上的配置配置文件感兴趣,请在 VS Code GitHub 仓库中提出议题,并分享您的场景详细信息。