主题
颜色主题
颜色主题让你可以修改 Visual Studio Code 用户界面中的颜色,以匹配你的偏好和工作环境。颜色主题会影响 VS Code 的用户界面元素和编辑器的语法高亮颜色。
选择不同的颜色主题
-
选择菜单项 文件 > 首选项 > 主题 > 颜色主题,或使用 首选项:颜色主题 命令 (⌘K ⌘T (Windows、Linux Ctrl+K Ctrl+T)) 来显示颜色主题选择器。
-
使用向上和向下箭头键在列表中导航,并预览主题的颜色。
-
选择你想要的主题,然后按Enter键。
当前活动的颜色主题存储在你的用户设置中(键盘快捷键 ⌘, (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 设置来自动检测操作系统是否切换到高对比度颜色方案。
要自定义颜色方案更改时使用的主题,你可以在设置编辑器中设置首选的浅色、深色和高对比度主题。
- Workbench: Preferred Dark Color Theme - 默认为 Dark Modern
- Workbench: Preferred Light Color Theme - 默认为 Light Modern
- Workbench: Preferred High Contrast Color Theme - 默认为 Dark High Contrast
- Workbench: Preferred High Contrast Light Color Theme - 默认为 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。
对于最常见的结构,有一组预配置的语法令牌('comments', 'strings', ...)可用。如果你想要更多,可以通过直接指定 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 扩展一样,使用齿轮上下文菜单上的禁用命令来禁用内置主题扩展。
文件图标主题
文件图标指示特定的文件类型。这些图标显示在资源管理器视图中的文件名旁边以及选项卡标题中。文件图标主题可以由扩展提供。
选择不同的文件图标主题
-
选择菜单项 文件 > 首选项 > 主题 > 文件图标主题,或使用 首选项:文件图标主题 命令来显示文件图标主题选择器。
-
使用向上和向下箭头键在列表中导航,并预览主题的图标。
-
选择你想要的主题,然后按Enter键。
默认情况下,使用 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 在 https://vscode.dev 提供了一个免费、免安装、完全在浏览器中运行的 VS Code 体验。
你可以通过 URL 模式 https://vscode.dev/editor/theme/<extensionId>
在 VS Code for the Web 中分享和体验颜色主题。
例如,你可以访问 https://vscode.dev/editor/theme/sdras.night-owl 来体验 Night Owl 主题,而无需经过下载和安装过程。
你可以在 VS Code for the Web 文档中了解更多关于预览和分享主题的信息。
产品图标主题
产品图标主题允许你更改 VS Code 用户界面中的图标,除了特定文件类型的图标。例如,你可以修改活动栏中视图的图标,或标题栏中用于更改布局的图标。
请注意在下图中,当选择不同的产品图标主题时,活动栏图标是如何更新的。
选择不同的产品图标主题
-
选择菜单项 文件 > 首选项 > 主题 > 产品图标主题,或使用 首选项:产品图标主题 命令来显示产品图标主题选择器。
-
使用向上和向下箭头键在列表中导航,并预览主题的图标。
-
选择你想要的主题,然后按Enter键。
默认情况下,VS Code 自带一个产品图标主题,即默认。你可以通过选择浏览其他产品图标主题...,直接从产品图标主题选择器中选择 VS Code 应用市场中的更多产品图标主题。
后续步骤
主题只是自定义 VS Code 的一种方式。如果你想了解更多关于 VS Code 的自定义和可扩展性,请尝试阅读这些文章