在sublime文本的某些主题中,某些标记(如脚本或php)中区域的背景颜色与其余代码的颜色不同。例如,像iPlastic或twilight主题中那样。
例如:http://imageshack.us/photo/my-images/541/screenshot20130207at342.png/
我希望在Tomorrow色彩方案中实现相同的效果,默认情况下没有这个。我知道我必须编辑.tmTheme文件,但我不确定我应该放入的代码。
非常感谢任何帮助。
谢谢!
答案 0 :(得分:4)
您应该在.tmTheme
文件中添加以下内容:
<dict>
<key>name</key>
<string>Embedded source</string>
<key>scope</key>
<string>text source</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FCFCFC</string>
</dict>
</dict>
当然,您可以设置您喜欢的颜色。
答案 1 :(得分:0)
使用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
。具有0xFC不透明度的#FA
将#EE
合成为#F9
(这是有意义的)。
现在,如果您希望强制 text source
范围的背景为某个值,则必须更改其<dict>
条目它存在,如果不存在,添加。
另一方面,如果您希望text source
范围等于的背景,那么您需要做的只是删除< / strong>其<dict>
条目。
请记住,像#AABBCC
这样的3字节值是100%不透明的,即它具有0xFF不透明度,即它相当于4字节值#AABBCCFF
。
另请注意,您可以将修改后的.tmTheme
文件放在下面,例如PHP
的{{1}}子目录,而不是Packages
子目录。这对PHP来说特别有用,其中默认背景是Color Scheme - Default
的外,而内部的那个是<?php...?>
范围之一(这是一个工件)用于继承HTML文件类型设置的技巧)。除非您的PHP文件包含大量HTML(或text source
以外的任何内容),否则您可能希望在<?php...?>
下面放置一个PHP
的背景值等于默认背景值的主题对于其他文件类型,以及仅适用于PHP文件的不同默认背景值。