如何更改语法的某些类型标签的颜色?
我知道有一个配色方案文件,但是该文件的哪一行与某些标签(例如类或函数)的颜色有关。
例如,Sublime Text 3中有一段代码:
我不想看到标签“节点”(即类标签)黄色,但希望看到蓝色。我该怎么办?
答案 0 :(得分:0)
要执行此操作,您需要对您用来告诉它以其他格式给事物着色的配色方案进行修改。特别是,您需要了解两件事:
您当前正在使用的配色方案。
要更改其颜色的事物的scope
。
要确定您的配色方案,请在首选项中查看color_scheme
设置的值。在这里,我假设它看起来像这样:
"color_scheme": "Mariana.sublime-color-scheme",
根据颜色设置方式的不同,它可能也包含路径的一部分,例如Packages/Color Scheme - Default/Mariana.sublime-color-scheme
。如果您使用的是旧式配色方案,则文件的扩展名也可能是tmTheme
而不是sublime-color-scheme
。
要确定需要更改的scope
,请将光标放在要更改颜色的物体上,然后使用Tools > Developer > Show Scope Name
(或按菜单告诉您的键),然后进行请注意弹出窗口的最后一行所说的内容。在这种情况下,我们假设是:
entity.name.class.c++
您的配色方案中有一条规则,告诉您与之匹配的范围的事物应显示其应具有的颜色,因此您需要将该颜色调整为所需的颜色。
为此,请在User
包中创建一个文件,您可以使用Preferences > Browse Packages...
找到该文件。您创建的文件应该是您正在使用的配色方案的名称(只是文件名,而不是路径)(扩展名是sublime-color-scheme
(即使您配色方案的扩展名是{{1 }}。
在我们的示例中,这意味着我们将在tmTheme
包中创建一个名为Mariana.sublime-color-scheme
的文件。
文件内容应如下所示:
User
这告诉Sublime,对于范围匹配{
// http://www.sublimetext.com/docs/3/color_schemes.html
"rules": [
{
"scope": "entity.name.class",
"foreground": "var(blue)",
},
]
}
的任何事物,它都应使用变量entity.name.class
概述的颜色,而不是常规的配色方案在做什么。保存文件后,立即看到结果。
我们在这里使用blue
而不是entity.name.class
来使entity.name.class.c++
与任何文件中被视为类的任何内容匹配。基本上,您使用的#2以上的范围越多,匹配就越紧密。因此,如果全部使用它,只会影响C ++。
最后要注意的是,scope
仅在您的配色方案定义了名为var(blue)
的变量时才有效。 Mariana配色方案确实如此,这就是我在这里使用它的原因。您可能不需要,在这种情况下,您需要以其他方式指定颜色。
上面示例中的链接指向配色方案文档,提供了更多详细信息,但是您可以使用blue
之类的东西来代替#0000FF
,以获得纯蓝色(根据需要进行调整,蓝色为可能太黑了。