您使用的Theme 会修改 UI 的整体外观,其中包括侧边栏、状态栏、标签形状等。在任何时候都只能有一个Theme 处于活动状态,因为它是应用程序范围内的。
相比之下,用于编辑文件的视图内部使用的颜色由Color Scheme 控制。与Themes 不同,配色方案可以逐个选项卡或逐个文件进行修改。
因此,为了更改文件编辑视图的背景颜色,您需要更改您正在使用的配色方案。
正在使用的配色方案由color_scheme 设置设置,您可以通过从菜单中选择Preferences > Settings 来查看该设置(Preferences 在 MacOS 菜单中的Sublime Text 下)。
如果您设置了自定义配色方案,您将在此窗口的右侧窗格中看到它;否则,您的配色方案是默认的,您可以在左侧窗格中找到。
根据您的帖子,目前使用的配色方案是"Packages/Material Theme/schemes/Material-Theme-Darker.tmTheme"。
这告诉您需要更改的文件是Material-Theme-Darker.tmTheme,它包含在Material Theme 包中名为schemes 的文件夹中。
如何进行所需的更改取决于color_scheme 设置中提到的文件的扩展名,这本身还取决于您当前使用的 Sublime Text 3 的构建以及主题本身的作者。
分机号是tmTheme
tmTheme 类型的文件是基于 MacOS 的 Plist 文件格式的 XML 格式文件。这是 Sublime Text 中使用的“经典”或“传统”配色方案格式;它继承自 TextMate。为了修改这些文件中的颜色,您需要修改文件本身,这需要您首先打开文件。
Sublime 包中的文件通常被压缩成sublime-package 文件,这需要您为文件创建一个覆盖以使 Sublime 忽略包中的版本并使用您的版本。
有时,一个包可能会以一组文件的形式“解包”安装在Packages 文件夹中。无论您使用的主题是如何安装的,以下说明都将起作用。
第一步是打开要修改的文件。最简单的方法是使用PackageResourceViewer(如果您还没有使用它,请先安装它):
- 打开命令面板并通过输入
prvor 选择PackageResourceViewer: Open Resource 命令来过滤列表
- 选择包含主题的包(这里
Material Theme)
- 选择要打开的文件(这里选择
schemes,然后选择Material-Theme-Darker.tmTheme
这将打开文件,您看到的是 Sublime 当前用作配色方案的文件。您对此文件所做的任何修改都会立即对您正在演唱的配色方案生效。
一般来说,您会根据需要编辑此文件的内容以应用您想要的任何颜色。在您的情况下,您想修改文本区域的背景颜色,因此在文件顶部附近,您将看到一个看起来有点像这样的部分(这是来自默认的 Monokai 配色方案):
<key>settings</key>
<dict>
<key>background</key>
<string>#272822</string>
<key>caret</key>
<string>#F8F8F0</string>
<key>foreground</key>
<string>#F8F8F2</string>
<key>invisibles</key>
<string>#3B3A32</string>
<key>lineHighlight</key>
<string>#3E3D32</string>
<key>selection</key>
<string>#49483E</string>
<key>findHighlight</key>
<string>#FFE792</string>
<key>findHighlightForeground</key>
<string>#000000</string>
<key>selectionBorder</key>
<string>#222218</string>
<key>activeGuide</key>
<string>#9D550FB0</string>
<key>misspelling</key>
<string>#F92672</string>
<key>bracketsForeground</key>
<string>#F8F8F2A5</string>
<key>bracketsOptions</key>
<string>underline</string>
<key>bracketContentsForeground</key>
<string>#F8F8F2A5</string>
<key>bracketContentsOptions</key>
<string>underline</string>
<key>tagsOptions</key>
<string>stippled_underline</string>
</dict>
这会为配色方案设置各种全局颜色。文件的其余部分用于根据您正在查看的语言的语法对文件内容应用特定颜色。
在您的情况下,您想要修改背景颜色,因此将background 属性的值修改为您想要的颜色。对你来说,这看起来像这样:
<key>background</key>
<string>#1a1a1a</string>
保存文件后,您应该会看到更改立即在所有打开的文件中生效。
当您保存时,如果该文件是 sublime-package 文件的一部分,则会为此文件创建一个 override,它将用于代替 sublime-package 文件中的版本。
发生这种情况时,即使包作者更新了配色方案,您的覆盖也将始终有效。 Sublime 不会告诉你这种情况正在发生。
OverrideAudit 包会在您遇到这种情况时向您发出警告,因此您可以通过更改文件以匹配新文件或完全删除文件来处理这种情况,如果您对此感到担忧。
分机号是sublime-color-scheme
这种类型的文件是一种新的配色方案格式,它基于 JSON 而不是基于 XML。
目前(2018 年 1 月 8 日)这种格式的配色方案仅在开发版本中可用,但在未来的某个时候,它们将成为未来配色方案的新文件格式。
像大多数 Sublime 资源一样,这种类型的文件是additive;所有包中的所有同名资源都会在运行时加载并组合在一起。
为了在此处查看您需要修改的内容,打开命令面板并通过输入vpf 来选择View Package File 命令以过滤命令列表,然后从显示的列表中选择适当的包文件,其中列出与color_scheme 设置格式相同的所有包文件。
注意:此命令仅存在于最近的 Sublime 开发版本中,因此如果您使用的是旧版本,则不会看到它;我假设在这种情况下你也不会看到这种格式的配色方案,但以防万一你也可以使用上面的 PackageResourceViewer 步骤来查看文件。
这次您看到的文件是对相同数据的 JSON 解释。同样,这是文件顶部附近的相关部分,此示例是默认的Monokai 配色方案。确保您不要保存此文件,只是看看它。
"globals":
{
"foreground": "var(white3)",
"background": "var(black3)",
"caret": "var(white2)",
"invisibles": "color(var(white3) alpha(0.35))",
"line_highlight": "var(yellow4)",
"selection": "var(grey)",
"selection_border": "var(black2)",
"misspelling": "var(red2)",
"active_guide": "color(var(orange2) alpha(0.69))",
"find_highlight_foreground": "var(black)",
"find_highlight": "var(orange3)",
"brackets_options": "underline",
"brackets_foreground": "color(var(white3) alpha(0.65))",
"bracket_contents_options": "underline",
"bracket_contents_foreground": "color(var(white3) alpha(0.65))",
"tags_options": "stippled_underline"
},
在此示例中,大多数颜色来自上面的变量部分,这使您可以轻松更改颜色并在引用变量的所有位置更改其表示。
为了更改 sublime-color-scheme 类型文件中的项目,而不是保存此文件,您可以在 User 包中创建一个具有相同名称的新文件,并且仅包含颜色的那些部分您要更改的方案。
在我们这里的示例中,您将创建一个包含以下内容的文件并将其保存在您的 User 包中为 Material-Theme-Darker.sublime-color-scheme。
{
"globals":
{
"background": "rgb(26,26,26)"
}
}
如上,保存此文件后,您应该会看到颜色变化。
此文件与我们正在查看的默认文件相结合,但这里我们只提供背景颜色,其余内容取自原始文件。
此版本的文件(以及因此您的背景颜色更改)将始终在此配色方案处于活动状态时生效,无论底层配色方案认为背景颜色应该是什么。