用户和工作区设置
你可以通过各种设置配置Visual Studio Code来配置。VS Code 的编辑器、用户界面和功能行为几乎每个部分都有可修改的选项。
VS Code 提供了不同的设置范围:
- 用户设置——适用于你打开的任何VS Code实例的全局设置。
- 工作区设置——设置存储在您的工作区内,仅在工作区被打开时应用。
VS Code 将设置值存储在设置的 JSON 文件中。你可以通过编辑设置的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))

工作区设置
工作区设置是针对项目特定的,可以覆盖用户设置。如果你有具体的设置想应用到某个项目上,可以使用工作区设置。例如,对于后端服务器项目,你可能想设置files.exclude设置以排除node_modules文件管理器中的文件夹。
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的选项。

设置URL允许你直接从浏览器的设置编辑器中导航到特定设置。URL格式如下vscode://settings/<settingName>, 其中<settingName>是你想导航到的设置的ID。例如,要导航到workbench.colorTheme设置,使用该网址vscode://settings/workbench.colorTheme.
设置组
设置以分组表示,方便你快速导航到相关设置。顶部有一个“常用”组,显示流行的自定义设置。
在以下示例中,通过在树状视图中选择源控制来聚焦源控制器设置。

VS Code 扩展还可以添加自定义设置,这些设置可以在扩展部分看到。
设置编辑器过滤器
设置编辑器的搜索栏有多个筛选功能,方便管理设置。搜索栏右侧有一个带有漏斗图标的筛选按钮,提供轻松添加筛选选项。
修改后的设定
要检查你设置了哪些设置,有个@modified在搜索栏中筛选。如果设置值与默认值不同,或者该值在相应的设置 JSON 文件中明确设置,就会在这个过滤器下显示。
如果你忘了是否配置了某个设置,或者编辑器因为你不小心配置了设置而表现不佳,这个过滤器会很有用。

其他滤波器
还有其他几个方便的筛选工具可以帮助搜索设置。在搜索栏输入符号即可发现不同的筛选条件。@

以下是一些可用的过滤器:
@ext: 针对某个扩展的具体设置。你提供扩展名ID,比如@ext:ms-python.python.@feature: 针对某一功能子组的设置。例如,@feature:explorer显示文件资源管理器的设置。@haspolicy:由你们组织控制的设置。@id:根据设置ID找到一个设置。例如,@id:workbench.activityBar.visible.@lang:基于语言ID应用语言过滤器。例如,@lang:typescript.详情请参见语言专用编辑器设置。@tag: 针对特定VS Code系统的设置。例如,@tag:工作空间信任关于与工作空间信任相关的设置,@tag:可及性用于与无障碍相关的设置,或@tag:高级用于高级VS Code设置。高级设置适用于特殊场景。默认情况下,除非你使用@tag:高级过滤。要在设置编辑器中始终显示高级设置,请启用workbench.settings.alwaysShowAdvancedSettings.
搜索栏会记住你的设置中的搜索查询,并支持撤销或重做(⌘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)))。
设置通过指定设置ID和值,以JSON形式写成。你可以快速复制对应的 JSON 名称-值对,方法是在设置编辑器中选择该设置的齿轮图标,然后选择“复制设置为 JSON作”。

该settings.json文件配备了完整的IntelliSense,支持智能完成设置和数值,并有描述悬浮。由于设置名称或JSON格式错误导致的错误也会被标注出来。

有些设置只能编辑settings.json例如工作台:颜色自定义,并在设置编辑器中显示“编辑中的settings.json”链接。

如果你更喜欢直接与settings.json,你可以设置
JSON.然后,在设置>偏好设置>文件,按键绑定⌘(Windows,Linux Ctrl+,)总是打开settings.json文件,而不是设置编辑器界面。
设置文件位置
用户settings.json位置
根据你的平台,用户设置文件位于此处:
- 窗户
%APPDATA%\Code\User\settings.json - macOS
$HOME/库/应用\ 支持/代码/用户/settings.json - Linux
$HOME/.config/Code/User/settings.json
工作空间settings.json位置
工作区设置文件位于.vscode文件夹放在你的根目录里。添加工作区设置时settings.json文件到你的项目或源代码控制中,项目的所有用户都会共享该项目的设置。

对于多根工作区,工作区设置位于工作区配置文件中。
重置设置
你总可以通过将鼠标悬停在显示齿轮图标的设置上,点击齿轮图标,然后选择重置设置作来重置设置。
虽然可以通过设置编辑器单独重置设置,但打开编辑器可以重置所有更改的设置settings.json并删除大括号之间的条目。要小心,因为之前的设置无法恢复。{}
语言专用编辑器设置
自定义特定语言设置的一种方法是打开设置编辑器,点击筛选按钮,然后选择添加语言筛选的选项。或者,也可以直接输入 格式为 的语言过滤器@lang:languageId进入搜索小部件。显示的设置可以针对该特定语言配置,并且如果适用,也会显示该语言的具体设置值。
当你在设置语言过滤器存在的情况下修改设置时,该设置会在该语言的指定作用域内配置。 例如,修改用户范围时
@lang:css在搜索小工具中的筛选器中,设置编辑器会将新值保存到用户设置文件中针对 CSS 的专属部分。

如果你在搜索小部件中输入多个语言过滤器,目前的行为是只使用第一个语言过滤器。
另一种按语言自定义编辑器的方法是运行全局命令 Preferences: Configure Language Specific Settings(命令 ID:workbench.action.configureLanguageBasedSettings)从命令调色板(⇧⌘P(Windows,Linux Ctrl+Shift+P))中打开语言选择器。选择你想要的语言。然后,设置编辑器会打开,包含所选语言的语言过滤器,允许你修改该语言的具体设置。不过,如果你有
JSON,然后settings.json文件打开时会有一个新的语言条目,你可以在那里添加相应的设置。

通过下拉菜单选择语言:

现在你可以开始专门针对该语言编辑设置:

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

如果你打开了一个文件,想为该文件类型自定义编辑器,请在VS Code窗口右下角的状态栏中选择语言模式。这会打开语言模式选择器,选项为“配置”基于语言的设置“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"
}
}
你可以用 IntelliSense 在settings.json帮助你查找特定语言的设置。支持所有编辑器设置和部分非编辑器设置。部分语言默认设置已设置,你可以在中查看defaultSettings.json通过运行偏好设置:打开默认设置命令。
多语言专用编辑器设置
你可以同时配置多种语言的编辑器设置。以下示例展示了如何自定义JavaScript以及打字稿语言在你的settings.json文件:
"[javascript][typescript]": {
"editor.maxTokenizationLineLength": 2500
}
配置文件设置
你可以在 VS Code 中使用配置文件创建自定义设置,并快速切换。例如,它们是针对特定编程语言定制 VS Code 的好方法。
切换到某个配置文件时,用户设置只适用于该配置文件。切换到另一个配置文件时,该配置文件的用户设置会被应用。这样,你可以为不同的配置文件设置不同的设置。
配置文件的用户设置 JSON 文件位于以下目录中:
- 窗户
%APPDATA%\Code\User\profiles\<profile ID>\settings.json - macOS
$HOME/库/应用程序\ 支持/代码/用户/配置文件/<配置文件 ID>/settings.json - Linux
$HOME/.config/Code/User/profiles/<profile ID>/settings.json
该<个人资料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 }
场景包括files.exclude以及搜索.排除使用符合作系统文件系统大小写区分的 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"
}
如果存在冲突的值,比如编辑.selection背景在上述示例中,通常会出现覆盖行为,工作区值优先于用户值,语言特定值优先于非特定语言值。
关于多语言特定设置的说明
如果你使用多个语言特定的设置,请注意语言特定的设置会合并,优先级是基于完整语言字符串设定的(例如)“[Typescript][JavaScript]”)而非单个语言ID(打字稿以及JavaScript).这意味着例如,a“[Typescript][JavaScript]”工作区设置不会覆盖“[JavaScript]”用户设置。
环境与安全
有些设置允许你指定一个可执行文件,VS Code 将执行某些作。例如,你可以选择集成终端使用哪个外壳。为了增强安全性,这些设置只能在用户设置中定义,而不能在工作区范围内定义。
以下是工作区设置中不支持的设置列表:
- git.path
- terminal.external.windowsExec
- terminal.external.osxExec(终端.external.osxExec)
- terminal.external.linuxExec
第一次打开定义这些设置的工作区时,VS Code 会警告你,之后总是忽略这些值。
设置同步
你可以通过设置同步功能在VS Code实例间共享用户设置。这个功能允许你在不同机器上的VS Code安装时共享设置、键盘快捷键和已安装的扩展。你可以通过设置编辑器右侧的“备份和同步设置”命令,或在账户活动栏的右键菜单中启用设置同步。

你可以在设置同步用户指南中了解更多关于开启和配置设置同步的信息。
VS Code 不会同步你的扩展到或同步来自远程窗口,比如连接 SSH、开发容器(devcontainer)或 WSL 时。
功能生命周期
特征及其对应的设置可以处于以下状态之一。根据不同州,你可能会对在工作流程中使用该功能或设置持谨慎态度。
-
实验性——为早期采用者提供的探索性功能。这些功能未来可能会发生变化或被移除。在设置编辑器中,这些设置有一个
实验性唱片公司。你也可以通过输入“实验设置”来搜索@tag:实验性质在搜索框里。
-
预览——预览功能和设置具备最终功能,但仍可能不断迭代以保证稳定性和润色。通常,预览功能默认是关闭的。在设置编辑器中,这些设置有一个
预览唱片公司。你也可以输入来搜索预览设置@tag:预览在搜索框里。
-
稳定——该功能在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 扩展会把设置存储在用户或工作区的设置文件里,可以通过设置编辑器的 UI(偏好设置:打开设置(UI)命令)或 IntelliSense 在你的settings.jsonfile(偏好设置:打开用户设置(JSON)命令)。通过扩展名进行搜索(例如)吉特伦斯或派森)可以帮助筛选出仅由扩展贡献的设置。