用户和工作区设置
你可以通过 Visual Studio Code 的各种设置来自定义它。VS Code 编辑器、用户界面和功能行为的几乎所有部分都有可以修改的选项。
VS Code 为设置提供了不同的作用域:
- 用户设置 - 对于您打开的任何 VS Code 实例,这些设置都具有全局应用的效果。
- 工作区设置 - 设置存储在您的工作区中,仅在打开工作区时有效。
VS Code 将设置值存储在 settings JSON 文件中。您可以通过编辑 settings JSON 文件或使用 设置编辑器 来更改设置值,设置编辑器提供了一个图形界面来管理设置。
用户设置
用户设置是您用于定制 VS Code 的个人设置。这些设置适用于您打开的任何 VS Code 实例。例如,如果您在用户设置中将编辑器字体大小设置为 14,则在您计算机上的所有 VS Code 实例中都是 14。
您可以通过几种方式访问您的用户设置:
- 选择偏好设置:打开用户设置命令在命令面板中 (⇧⌘P (Windows, Linux Ctrl+Shift+P))
- 选择 用户 选项卡在 设置编辑器 中 (⌘, (Windows, Linux Ctrl+,))
- 选择 偏好设置:打开用户设置 (JSON) 命令在命令面板中 (⇧⌘P (Windows, Linux Ctrl+Shift+P))

工作区设置
工作区设置特定于一个项目,并覆盖用户设置。如果你有一个特定的项目,并且希望应用特定的设置,你可以使用工作区设置。例如,对于一个后端服务器项目,你可能希望设置文件排除设置以排除节点模块从文件资源管理器中拖动文件夹。
VS Code 的“工作区”通常是您的项目根文件夹。通过名为多根工作区的功能,您可以在 VS Code 工作区中拥有多个根文件夹。获取更多关于VS Code 工作区的信息。
VS Code 将工作区设置存储在项目根目录中.vscode文件夹。这使得在受版本控制(例如,Git)的项目中与其他分享设置变得简单。
您可以通过以下几种方式访问工作区设置:
- 选择 首选项:打开工作区设置 命令在命令面板中 (⇧⌘P (Windows, Linux Ctrl+Shift+P))
- 选择 工作区 选项卡在 设置编辑器 中 (⌘, (Windows, Linux Ctrl+,))
- 选择 首选项:打开工作区设置 (JSON) 命令在命令面板中 (⇧⌘P (Windows, Linux Ctrl+Shift+P))

并非所有用户设置都可以作为工作区设置。例如,与更新和安全相关的应用程序级设置不能被工作区设置覆盖。
设置编辑器
设置编辑器提供了一个图形界面来管理用户和工作区设置。要打开设置编辑器,请导航到文件 > 首选项 > 设置。或者,从命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P))中打开设置编辑器,使用首选项:打开设置或使用键盘快捷键 (⌘, (Windows, Linux Ctrl+,))。
当你打开设置编辑器时,你可以搜索并发现你正在寻找的设置。当你使用搜索栏进行搜索时,设置编辑器会过滤设置,只显示符合你条件的设置。这使得查找设置变得快速和简单。

VS Code 会在你更改设置时直接应用更改。你可以通过设置左侧的彩色条来识别你修改的设置,类似于编辑器中的修改行。
在下面的示例中,侧边栏位置和文件图标主题被更改了。

设置旁边的齿轮图标 (⇧F9 (Windows, Linux Shift+F9)) 打开一个上下文菜单,提供将设置重置为其默认值、复制设置ID、复制JSON名称-值对或复制设置URL的选项。

一个设置网址使您能够直接在浏览器中导航到设置编辑器中的特定设置。网址格式为vscode://settings/<settingName>,其中<设置名称>是您要导航到的设置的ID。例如,要导航到工作台颜色主题设置,使用网址vscode://设置/工作区颜色主题输入:.
设置组
设置以组的形式呈现,以便您可以快速导航到相关的设置。顶部有一个常用组,显示受欢迎的自定义设置。
在以下示例中,通过选择源代码管理来聚焦源代码管理设置。

VS Code 扩展可以添加自己的自定义设置,并且这些设置会在扩展部分下可见。
设置编辑器过滤器
设置编辑器的搜索栏有多个过滤器,可帮助您更轻松地管理设置。搜索栏右侧有一个带有漏斗图标过滤按钮,可轻松为搜索栏添加过滤选项。
修改设置
要检查您已配置哪些设置,请使用@修改在搜索栏中应用过滤器。如果该设置的值与默认值不同,或者在相应的设置JSON文件中明确设置,则在此过滤器下会显示一个设置。
这个过滤器在你忘记是否已经配置了一个设置,或者因为你不小心配置了一个设置而使编辑器的行为不符合你的预期时可能会有用。

其他过滤器
还有几个其他方便的过滤器可以帮助您在设置中搜索。输入@在搜索栏中输入符号以发现不同的过滤器。

以下是一些可用的过滤器:
@扩展: 扩展的特定设置。您提供扩展 ID,例如@扩展:ms-python.python输入:.@功能:针对的设置。例如,子组特定功能@功能:浏览器显示文件资源管理器的设置。@有政策:由您的组织控制的设置。@id根据设置ID查找设置。例如,@id:工作台.活动栏.可见输入:.@兰格:根据语言ID应用语言过滤器。例如,@编程语言:TypeScript。请参阅特定语言的编辑器设置了解更多信息。@标签: VS Code 系统的特定设置。例如,@标签:工作区信任与 Workspace Trust 相关的设置@标签:无障碍对于与无障碍相关的设置,或@标签:高级用于高级 VS Code 设置。高级设置是为特殊场景设计的。默认情况下,高级设置不会显示在搜索结果中,除非您使用@标签:高级过滤器。要始终在设置编辑器中显示高级设置,请启用工作台.设置.始终显示高级设置输入:.
搜索栏会记住您的设置搜索查询,并支持撤销或重做 (⌘Z (Windows, Linux Ctrl+Z)/⇧⌘Z (Windows, Linux Ctrl+Y))。您可以使用搜索栏右侧的清除设置搜索输入按钮快速清除搜索词或过滤器。

扩展设置
已安装的 VS Code 扩展也可以贡献它们自己的设置,您可以在设置编辑器的扩展部分查看这些设置。

您还可以从扩展视图(⇧⌘X(Windows, Linux Ctrl+Shift+X))中查看扩展的设置,方法是选择扩展并查看功能贡献选项卡。

扩展作者可以在配置贡献点文档中了解更多关于添加自定义设置的信息。
设置 JSON 文件
VS Code将设置值存储在settings.json文件。设置编辑器是用户界面,使您能够查看和修改存储在文件中的设置值。settings.json文件。
您还可以查看和编辑settings.json 直接打开文件,通过在编辑器中打开它,使用 首选项:打开用户设置 (JSON) 或 首选项:打开工作区设置 (JSON) 命令在命令面板中 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。
设置以JSON格式编写,通过指定设置ID和值。您可以通过在设置编辑器中选择设置的齿轮图标,然后选择复制设置为JSON操作,快速复制相应设置的JSON名称-值对。

该settings.json文件具有完整的IntelliSense,带有智能完成设置和值以及描述悬停。由于设置名称或JSON格式不正确而产生的错误也会被突出显示。

某些设置只能在 编辑settings.json例如工作台:颜色自定义并显示一个在 settings.json 中编辑链接在设置编辑器中。

如果你更喜欢始终直接与settings.json,你可以设置
输入:json然后,文件 > 首选项 > 设置 和快捷键 ⌘, (Windows, Linux Ctrl+,) 总是打开 settings.json文件而不是设置编辑器用户界面。
设置文件位置
用户设置.json位置
根据您的平台,用户设置文件位于此处:
- Windows
%APPDATA%\Code\User\settings.json - macOS
$HOME/Library/Application\ Support/Code/User/settings.json - Linux
$HOME/.config/Code/User/settings.json
工作区 settings.json 位置
工作区设置文件位于.vscode在你的根文件夹中创建一个文件夹。当你添加工作区设置settings.json将文件添加到您的项目或源代码控制中,该项目的设置将被该项目的所有用户共享。

对于多根工作区,工作区设置位于工作区配置文件中。
重置设置
您可以通过将鼠标悬停在设置上以显示齿轮图标,点击齿轮图标,然后选择重置设置操作来始终将设置重置为默认值。
虽然你可以通过设置编辑器单独重置设置,但你可以通过打开重置所有更改的设置settings.json并删除花括号之间的条目输入:{}注意:由于无法恢复您之前的设置值,请谨慎操作。
语言特定的编辑器设置
一种定制特定语言设置的方法是打开设置编辑器,按下过滤按钮,并选择语言选项以添加语言过滤器。或者,可以直接输入语言过滤器,形式为@语言:语言ID输入到搜索小部件中。显示的设置将针对特定语言进行配置,并且如果适用,将显示特定于该语言的设置值。
当启用语言过滤器时修改设置,该设置将在指定语言的范围内进行配置。 例如,当修改用户范围
@语言:CSS在搜索小部件中应用过滤器时,设置编辑器将新值保存到用户设置文件的CSS特定部分。

如果你在搜索小部件中输入多个语言过滤器,当前的行为是只使用第一个语言过滤器。
另一种通过语言定制编辑器的方法是运行全局命令首选项:配置特定语言的设置(命令 ID:工作台.操作.配置基于语言的设置) 来自 命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 打开语言选择器。选择你想要的语言。然后,设置编辑器会打开一个针对所选语言的语言过滤器,允许你修改该语言的特定设置。然而,如果你有
输入:json,然后是settings.json文件以新的语言条目打开,您可以在其中添加相关的设置。

通过下拉菜单选择语言:

现在您可以开始编辑特定语言的设置:

或者,如果
输入:json,现在你可以开始在用户设置中添加特定语言的设置:

如果你有一个文件打开,并且你想为这种文件类型定制编辑器,请在 VS Code Windows的右下角选择状态栏中的语言模式。这将打开语言模式选择器,并提供一个选项配置“language_name”语言相关的设置。选择这个将打开你的用户settings.json带有语言条目,您可以添加适用的设置。
语言特定的编辑器设置始终会覆盖非语言特定的编辑器设置,即使非语言特定的设置具有更窄的作用域。例如,语言特定的用户设置会覆盖非语言特定的工作区设置。
您可以将特定语言的设置限制在工作区中,方法是将它们放在工作区设置中,就像其他设置一样。如果用户和工作区两个作用域都定义了相同语言的设置,则会通过优先考虑工作区中定义的设置进行合并。
以下示例可以粘贴到设置JSON文件中,以自定义编辑器设置类型脚本和标记语言模式。
{
"[typescript]": {
"editor.formatOnSave": true,
"editor.formatOnPaste": true
},
"[markdown]": {
"editor.formatOnSave": true,
"editor.wordWrap": "on",
"editor.renderWhitespace": "all",
"editor.acceptSuggestionOnEnter": "off"
}
}
您可以在 中使用IntelliSensesettings.json帮助您找到特定语言的设置。所有编辑器设置和一些非编辑器设置都支持。某些语言已经设置了默认的特定语言设置,您可以在 中查看默认设置.json 通过运行 首选项:打开默认设置 命令。
多种语言特定的编辑器设置
您可以同时为多种语言配置特定语言的编辑器设置。以下示例展示了如何定制设置JavaScript和类型脚本语言一起在你的settings.json文件:
"[JavaScript][TypeScript]": {
"editor.maxTokenizationLineLength": 2500
}
个人资料设置
你可以使用VS Code中的配置文件来创建一组自定义设置,并快速在它们之间切换。例如,它们是为特定编程语言定制VS Code的绝佳方式。
当你切换到一个配置文件时,用户设置仅限于该配置文件。当你切换到另一个配置文件时,另一个配置文件的用户设置将被应用。这样,你就可以为不同的配置文件设置不同的设置。
用户设置JSON文件位于以下目录:
- Windows
%APPDATA%\Code\User\profiles\<profile ID>\settings.json - macOS
$HOME/Library/Application\ Support/Code/User/profiles/<profile ID>/settings.json - Linux
$HOME/.config/Code/User/profiles/
该<配置文件 ID>是配置文件的唯一标识符。对于每个覆盖设置的配置文件,将有一个相应的配置文件设置文件。
该settings.json只有在修改该配置文件的设置时才会创建配置文件。
当您使用非默认配置文件时,您可以访问settings.json 通过使用命令面板中的 偏好设置:打开应用设置 (JSON) 命令,与默认配置文件关联的文件 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。
设置优先级
配置可以通过不同的设置范围在多个级别上被覆盖。在以下列表中,后置范围覆盖前置范围:
- 默认设置 - 此作用域表示默认的未配置设置值。
- 用户设置 - 在所有 VS Code 实例中全局应用。
- 远程设置 - 应用于由用户打开的远程机器。
- 工作区设置 - 应用到打开的文件夹或工作区。
- 工作区文件夹设置 - 应用于特定的多根工作区的文件夹。
- 语言特定的默认设置 - 这些是特定于语言的默认值,可以由扩展提供。
- 语言特定用户设置 - 与用户设置相同,但特定于一种语言。
- 语言特定的远程设置 - 与远程设置相同,但特定于一种语言。
- 语言特定的工作区设置 - 与工作区设置相同,但特定于一种语言。
- 语言特定的工作区文件夹设置 - 与工作区文件夹设置相同,但特定于一种语言。
- 策略设置 - 由系统管理员设置,这些值总是覆盖其他设置值。
设置值可以是各种类型:
- 字符串 -
"files.autoSave": "afterDelay" - 布尔 -
"editor.minimap.enabled": true - 编号 -
"files.autoSaveDelay": 1000 - 数组 -
"editor.rulers": [] - 对象 -
"search.exclude": { "**/node_modules": true, "**/bower_components": true }
设置如文件排除和搜索.排除 使用 glob 模式 遵循您的操作系统文件系统大小写敏感性(在 Windows/macOS 上不区分大小写,在 Linux 上区分大小写)。同样,.gitignore文件模式(与 一起使用)
具有基本类型和数组类型的值会被覆盖,这意味着在优先级更高的作用域中配置的值将取代另一个作用域中的值。但是,具有对象类型的值会被合并。
例如,
"workbench.colorCustomizations":
"editor.background":"#000088",
"editor.selectionBackground":"#008800"
}
并且你的打开的工作区设置将编辑器前景设置为红色:
"workbench.colorCustomizations":
"editor.foreground":"#880000",
"editor.selectionBackground":"#00FF00"
}
结果是当打开该工作区时,这两个颜色定制的组合,就像你指定了一样:
"workbench.colorCustomizations": {
"editor.background": "#000088",
"editor.selectionBackground": "#00FF00",
"editor.foreground": "#880000"
}
如果有冲突的值,例如编辑器选择背景在上面的示例中,通常会覆盖行为,工作区值优先于用户值,语言特定值优先于非语言特定值。
关于多语言特定设置的说明
如果您正在使用多种特定语言的设置,请注意,特定语言的设置会合并,并且优先级是根据完整的语言字符串来设置的(例如"[typescript][javascript]") 而不是单独的语言ID (类型脚本和JavaScript). 这意味着,例如,一个"[typescript][javascript]"工作区设置不会覆盖a" [javascript] "用户设置。
设置和安全
某些设置允许您指定 VS Code 将运行的可执行文件以执行某些操作。例如,您可以选择集成终端应使用的 shell。为了增强安全性,此类设置只能在用户设置中定义,而不能在工作区级别定义。
以下是工作区设置中不支持的设置列表:
- git.路径
- 终端.外部.Windows执行
- 终端.外部.osx执行
- 终端.外部.linux执行
第一次打开定义了这些设置的workpace时,VS Code会警告你,然后从此之后总是忽略这些值。
设置同步
您可以通过 设置同步 功能在您的 VS Code 实例之间共享用户设置。此功能允许您在不同机器上的 VS Code 安装之间共享设置、键盘快捷键和已安装的扩展。您可以通过设置编辑器右侧的 备份和同步设置 命令或在 账户 活动栏上下文菜单中启用设置同步。

您可以在 设置同步 用户指南中了解更多关于启用和配置设置同步的信息。
VS Code 不会将你的扩展同步到或从 远程 Windows,例如当你连接到 SSH、开发容器 (devcontainer) 或 WSL 时。
功能生命周期
功能及其对应的设置可以处于以下状态之一。根据状态,您可能需要谨慎考虑在工作流程中使用该功能或设置。
-
实验性 - 为早期采用者提供的探索性功能。这些功能可能会在未来更改或被删除。在设置编辑器中,这些设置有一个
实验性的标签。您还可以通过输入来搜索实验设置@标签:实验性在搜索框中。
-
预览 - 预览功能和设置具有最终功能,但仍可能因稳定性和优化而进行迭代。通常,预览功能默认是禁用的。在设置编辑器中,这些设置有一个
预览标签。您还可以通过输入搜索预览设置@标签:预览在搜索框中。
-
稳定 - 该功能在 VS Code 中是稳定的,并且完全支持。
实验性和预览功能使您可以尝试新功能并提供反馈。在我们的 VS Code 问题中分享您的反馈。
相关资源
常见问题
VS Code 说 "无法写入设置。"
如果你尝试更改设置(例如启用自动保存或选择新的颜色主题),然后你看到“无法写入用户设置。请打开用户设置以更正其中的错误/警告并再次尝试”,这意味着你的settings.json文件格式不正确或存在错误。错误可能简单到缺少一个逗号或设置值不正确。打开settings.json 文件与 偏好设置:打开用户设置 (JSON) 命令在命令面板中 (⇧⌘P (Windows, Linux Ctrl+Shift+P)),你应该会看到用红色波浪线标出的错误。
如何重置我的用户设置?
将 VS Code 重置为默认设置的最简单方法是清除您的用户设置。settings.json文件。您可以打开settings.json 文件中 偏好设置:打开用户设置 (JSON) 命令在命令面板中 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。一旦文件在编辑器中打开,删除两个大括号之间的所有内容 输入:{}保存文件,VS Code 将恢复使用默认值。
何时使用工作区设置是明智的?
如果你正在使用一个需要自定义设置的工作区,但你不想将其应用到你的其他 VS Code 项目。一个很好的例子是特定语言的代码检查规则。
我在哪里可以找到扩展设置?
一般来说,VS Code 扩展将其设置存储在您的用户或工作区设置文件中,并且可以通过设置编辑器用户界面 (首选项:打开设置 (用户界面) 命令) 或通过您的 IntelliSense 访问settings.json 文件 (偏好设置:打开用户设置 (JSON) 命令)。通过扩展名搜索 (例如 gitlens或Python) 可以帮助过滤设置,仅限于那些由扩展贡献的设置。