用 Sublime 打开你要编辑的.tmTheme 文件,首先用不同的名称(但扩展名相同)保存它。然后寻找这个:
<string>text source</string>
这仅存在于 一些 .tmTheme 文件中!在你提到的文件iPlastic.tmTheme文件中,你会在这个条目中找到它:
<dict>
<key>name</key>
<string>Embedded source</string>
<key>scope</key>
<string>text source</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FAFAFAFC</string>
<key>foreground</key>
<string>#000000</string>
</dict>
</dict>
如果.tmTheme 文件是用 JSON 而不是这种笨拙的 XML 编写的,则条目将如下所示:
{
"name": "Embedded source",
"scope": "text source",
"settings": {
"background": "#FAFAFAFC",
"foreground": "#000000"
}
},
在这种情况下,背景值几乎是白色的(所有三个通道中都是 0xFA),但有点透明(0xFC 不透明度)。结果取决于您在文件开头找到的background 值,在本例中为#EEEEEEEB(请注意缺少name 和scope):
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#EEEEEEEB</string>
据我所知,这里忽略了 0xEB 不透明度,因为默认背景是 #EE。 #FA 与 0xFC 不透明度在 #EE 上合成为 #F9(这是有道理的)。
现在,如果您想强制将 text source 范围的背景设置为某个值,则必须更改其 <dict> 条目(如果存在),并且添加如果不是。
另一方面,如果您想让text source 范围的背景等于 与其余所有内容相同,那么您只需删除 它的<dict> 条目。
请记住,像#AABBCC 这样的 3 字节值是 100% 不透明的,即,它具有 0xFF 不透明度,即它相当于 4 字节值 #AABBCCFF。
还请记住,您可以将修改后的 .tmTheme 文件放在下面,例如,Packages 的 PHP 子目录,而不是 Color Scheme - Default 子目录。这对于 PHP 尤其有用,其中默认背景是<?php...?> 的外部,而内部是text source 范围的一个(这是在为了继承 HTML 文件类型的设置)。除非您的 PHP 文件包含大量 HTML(或您在 <?php...?> 之外拥有的任何内容),否则您可能希望在 PHP 下方放置一个主题,其背景值 text source 等于其他文件类型的默认背景值,并且仅适用于 PHP 文件的不同默认背景值。