现已推出!阅读关于 11 月的新功能和修复。

企业支持

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

网络:常用主机名

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

请参阅网络常用主机名列表,了解所需的域名。

配置允许的扩展

通过 extensions.allowed 应用程序设置,您可以控制组织中可以安装哪些扩展。 如果未配置该设置,则允许所有扩展。 如果配置了该设置,则会阻止安装所有未列出的扩展。 如果阻止已安装的扩展或版本,则该扩展将被禁用。

注意

从 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 中扩展的更多信息,请参阅扩展文档

通过设备管理控制允许的扩展

您可以使用设备管理控制 extensions.allowed 设置。 使用 AllowedExtensions VS Code 策略,该策略会覆盖 extensions.allowed 设置。 此策略的值是一个 JSON 字符串,其中包含允许的扩展。

重要

如果策略值中存在语法错误,则不会应用 extensions.allowed 设置。 您可以在 VS Code 的“窗口”日志中查看错误(按⇧⌘P (Windows、Linux Ctrl+Shift+P) 并输入显示窗口日志)。 在“设置”编辑器中(⌘, (Windows、Linux Ctrl+,)),您可以看到 Extensions: Allowed 设置的警告消息,指示该设置值未应用。

Settings editor showing a warning message for the 'Extensions: Allowed' setting.

配置自动更新

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

此设置具有以下选项

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

通过设备管理控制更新模式

您可以使用设备管理控制 update.mode 设置。 使用 UpdateMode VS Code 策略,该策略会覆盖 update.mode 设置。 此策略的值是一个字符串,其中包含更新模式。

设备管理

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

管理员控制的功能

  • 自动更新 (update.mode)
  • 允许的扩展 (extensions.allowed)

Windows 上的组策略

系统管理员需要一种方法来控制其组织中所有客户端计算机上的默认软件设置。 组策略是一种客户端解决方案,它使管理员可以灵活地为每个可用的策略和设置实施行为。

VS Code 现在支持基于 Windows 注册表的组策略。 从 VS Code 1.69 版开始,每个版本都将附带一个 policies 目录,其中包含可以添加到以下路径的 ADMX 模板文件:C:\Windows\PolicyDefinitions。 确保还将相应的 adml 文件复制到 C:\Windows\PolicyDefinitions\<您的区域设置> 目录。

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

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

其他策略

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

使用预安装的扩展程序设置 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 是否支持 macOS 或 Linux 上的配置配置文件?

目前,VS Code 仅支持 Windows 组策略。macOS 上的配置配置文件支持即将推出(跟踪 issue)。

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