主题
颜色主题
颜色主题使你能够修改 Visual Studio Code 用户界面的颜色,以匹配你的偏好和工作环境。颜色主题同时影响 VS Code 用户界面元素和编辑器高亮显示颜色。

选择不同的颜色主题
-
选择 文件 > 首选项 > 主题 > 颜色主题 菜单项,或使用 **首选项:颜色主题** 命令(⌘K ⌘T (Windows, Linux Ctrl+K Ctrl+T))来显示颜色主题选择器。
-
使用 向上 和 向下 键在列表中导航并预览主题的颜色。
-
选择你想要的主题,然后按 回车。
当前激活的颜色主题存储在你的用户 设置 中(键盘快捷键 ⌘, (Windows, Linux Ctrl+,))。
// Specifies the color theme used in the workbench.
"workbench.colorTheme": "Solarized Dark"
从市场获取颜色主题
VS Code 提供了几种现成的颜色主题供你尝试。社区已将更多主题上传到 VS Code 扩展市场。
你可以通过颜色主题选择器直接从 VS Code 市场选择颜色主题,方法是选择 **浏览更多颜色主题...**。

或者,你可以在扩展视图(⇧⌘X (Windows, Linux Ctrl+Shift+X))的搜索框中使用 @category:"themes" 过滤器来搜索主题。

根据操作系统颜色方案自动切换
Windows 和 macOS 支持浅色和深色颜色方案。有一个名为 window.autoDetectColorScheme 的设置,它指示 VS Code 监听操作系统颜色方案的变化并相应地切换到匹配的主题。
类似地,你可以使用 window.autoDetectHighContrast 设置来自动检测操作系统是否切换到了高对比度颜色方案。
要自定义颜色方案更改时使用的主题,可以在设置编辑器中设置首选的深色、浅色和高对比度主题。
- 工作区:首选深色主题 - 默认是 Dark Modern
- 工作区:首选浅色主题 - 默认是 Light Modern
- 工作区:首选高对比度深色主题 - 默认是 Dark High Contrast
- 工作区:首选高对比度浅色主题 - 默认是 Light High Contrast

自定义颜色主题
工作区颜色
你可以使用用户 设置 中的 workbench.colorCustomizations 和 editor.tokenColorCustomizations 来自定义你的当前颜色主题。
要设置 VS Code UI 元素(如列表和树(文件资源管理器、建议小部件)、差异编辑器、活动栏、通知、滚动条、拆分视图、按钮等)的颜色,请使用 workbench.colorCustomizations。

在设置 workbench.colorCustomizations 值时,你可以使用 IntelliSense,或者查看 主题颜色参考 以获取所有可自定义颜色的列表。
要对特定主题进行自定义,请使用以下语法
"workbench.colorCustomizations": {
"[Monokai]": {
"sideBar.background": "#347890"
}
}
如果自定义适用于多个主题,你可以命名多个主题或在名称的开头和结尾使用 * 作为通配符
"workbench.colorCustomizations": {
"[Abyss][Red]": {
"activityBar.background": "#ff0000"
},
"[Monokai*]": {
"activityBar.background": "#ff0000"
}
}
如果某个主题设置的颜色或边框你不喜欢,你可以使用 default 将其设置回原始值
"workbench.colorCustomizations": {
"diffEditor.removedTextBorder": "default"
}
编辑器语法高亮
要调整编辑器的语法高亮颜色,请在你的用户 设置 settings.json 文件中使用 editor.tokenColorCustomizations。

已经为最常见的结构预配置了一组语法标记(“注释”、“字符串”...)。如果你需要更多,可以通过直接指定 TextMate 主题颜色规则来实现。

直接配置 TextMate 规则是一项高级技能,你需要了解 TextMate 语法的工作原理。请参阅 颜色主题指南 以获取更多信息。
要自定义特定主题,你可以通过以下方式之一进行:
"editor.tokenColorCustomizations": {
"[Monokai]": {
"comments": "#229977"
},
"[*Dark*]": {
"variables": "#229977"
},
"[Abyss][Red]": {
"keywords": "#f00"
}
}
编辑器语义高亮
某些语言(目前:TypeScript、JavaScript、Java)提供语义标记。语义标记基于语言服务的符号理解,比 TextMate 语法驱动的正则表达式的语法标记更准确。从语义标记计算出的语义高亮叠加在语法高亮之上,可以根据以下示例修正和丰富高亮显示:
没有语义高亮的“Tomorrow Night Blue”颜色主题

带有语义高亮的“Tomorrow Night Blue”颜色主题

注意基于语言服务符号理解的颜色差异
- 第 10 行:
languageModes被着色为参数。 - 第 11 行:
Range和Position被着色为类,document被着色为参数。 - 第 13 行:
getFoldingRanges被着色为函数。
设置 editor.semanticHighlighting.enabled 作为应用语义高亮的主要控制。它可以取值为 true、false 和 configuredByTheme。
true和false会开启或关闭所有主题的语义高亮。configuredByTheme是默认值,它允许每个主题控制是否启用语义高亮。所有与 VS Code 一起提供的(例如,“Dark+”默认)主题都默认启用了语义高亮。
你可以通过以下方式覆盖主题设置:
"editor.semanticTokenColorCustomizations": {
"[Rouge]": {
"enabled": true
}
}
当语义高亮启用并且语言可用时,由主题来配置是否以及如何为语义标记着色。一些语义标记是标准化的,并映射到成熟的 TextMate 范围。如果主题对这些 TextMate 范围有着色规则,语义标记将以该颜色呈现,而无需任何额外的着色规则。
可以在 editor.semanticTokenColorCustomizations" 中配置额外的样式规则
"editor.semanticTokenColorCustomizations": {
"[Rouge]": {
"enabled": true,
"rules": {
"*.declaration": { "bold": true }
}
}
}
要查看计算出的语义标记及其样式,可以使用范围检查器(**开发者:检查编辑器标记和范围**),它会显示当前光标位置的文本信息。

如果给定位置的语言的语义标记可用并且由主题启用,则检查工具会显示一个 **语义标记类型** 部分。该部分显示语义标记信息(类型和任意数量的修饰符)以及适用的样式规则。
有关语义标记和样式规则语法的更多信息,请参阅 语义高亮指南。
创建你自己的颜色主题
创建和发布主题扩展很容易。在用户设置中自定义你的颜色,然后使用 **开发者:从当前设置生成颜色主题** 命令生成一个主题定义文件。
VS Code 的 Yeoman 扩展生成器 可帮助你生成扩展的其余部分。
请参阅我们扩展 API 部分的 创建新的颜色主题 文章以了解更多信息。
移除默认颜色主题
如果你想从颜色主题选择器中移除 VS Code 附带的一些默认主题,你可以从扩展视图(⇧⌘X (Windows, Linux Ctrl+Shift+X))禁用它们。选择扩展视图顶部的 **筛选扩展** 按钮,选择 **内置** 选项,你将看到一个 **主题** 部分,其中列出了默认主题。

你可以像禁用任何其他 VS Code 扩展 一样,通过齿轮上下文菜单上的 **禁用** 命令来禁用内置主题扩展。

文件图标主题
文件图标指示特定的文件类型。这些图标显示在文件资源管理器视图和选项卡标题中的文件名旁边。文件图标主题可以由扩展提供。
选择不同的文件图标主题
-
选择 文件 > 首选项 > 主题 > 文件图标主题 菜单项,或使用 **首选项:文件图标主题** 命令来显示文件图标主题选择器。
-
使用 向上 和 向下 键在列表中导航并预览主题的图标。
-
选择你想要的主题,然后按 回车。
![]()
默认情况下,使用 **Seti** 文件图标主题,这些是你将在文件资源管理器视图中看到的图标。VS Code 会记住你在重启之间选择的文件图标主题。你可以选择 **无** 来禁用文件图标。
VS Code 附带两个文件图标主题:**Minimal** 和 **Seti**。要安装更多文件图标主题,请在文件图标主题选择器中选择 **安装其他文件图标主题** 项,这会打开扩展视图,并按图标主题进行筛选。
你也可以直接浏览 VS Code 市场 网站来查找可用的主题。
当前激活的文件图标主题会保存在你的用户 设置 中(键盘快捷键 ⌘, (Windows, Linux Ctrl+,))。
// Specifies the file icon theme used in the workbench.
"workbench.iconTheme": "vs-seti"
创建你自己的文件图标主题
你可以创建自己的文件图标主题(最好是 SVG),请参阅我们扩展 API 部分的 文件图标主题 文章了解详情。
Web 版 VS Code
VS Code for the Web 在你的浏览器中提供免费、无需安装的 VS Code 体验,网址为 https://vscode.dev。
你可以通过 URL 方案共享和体验 VS Code for the Web 中的颜色主题:https://vscode.dev/editor/theme/<extensionId>。
例如,你可以访问 https://vscode.dev/editor/theme/sdras.night-owl 来体验 Night Owl 主题,而无需进行下载和安装过程。
你可以在 VS Code for the Web 文档 中了解有关预览和共享主题的更多信息。
产品图标主题
产品图标主题使你能够更改 VS Code 用户界面中的图标,但不是特定文件类型的图标。例如,你可以修改活动栏中视图的图标,或者标题栏中用于更改布局的图标。
在下面的图片中,当选择不同的产品图标主题时,活动栏图标的更新方式。
![]()
选择不同的产品图标主题
-
选择 文件 > 首选项 > 主题 > 产品图标主题 菜单项,或使用 **首选项:产品图标主题** 命令来显示产品图标主题选择器。
-
使用 向上 和 向下 键在列表中导航并预览主题的图标。
-
选择你想要的主题,然后按 回车。
默认情况下,VS Code 提供一个产品图标主题:**Default**。你可以通过产品图标主题选择器直接从 VS Code 市场选择更多产品图标主题,方法是选择 **浏览更多产品图标主题...**。
后续步骤
主题只是自定义 VS Code 的一种方式。如果你想了解更多关于 VS Code 自定义和可扩展性的信息,可以尝试阅读以下文章:
