如何改变字体的颜色?

How to change color of font?

如何改变某个语法类型标签的颜色?

我知道有配色方案文件,但该文件的哪一行与特定标签的颜色相关(例如 class 或函数)。

比如Sublime Text 3中有一段代码:

我不想看到标签 'Node'(即 class-标签)是黄色的,但想看到它是蓝色的。我该怎么做?

为此,您需要修改您正在使用的配色方案,以告诉它以不同的格式为事物着色。特别是,您需要了解两件事:

  1. 您当前使用的配色方案。

  2. 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(即使您的配色方案的扩展名是 tmTheme.

在我们的示例中,这意味着我们将在 User 包中创建一个名为 Mariana.sublime-color-scheme 的文件。

您的文件内容应如下所示:

{
    // http://www.sublimetext.com/docs/3/color_schemes.html
    "rules": [
        {
            "scope": "entity.name.class",
            "foreground": "var(blue)",
        },
    ]
}

这告诉 Sublime,对于范围匹配 entity.name.class 的任何内容,它应该使用变量 blue 概述的颜色,而不是正常的配色方案。保存文件后,您会立即看到结果。

我们在这里使用 entity.name.class 而不是 entity.name.class.c++ 来使 scope 匹配任何文件中被认为是 class 的任何内容。基本上,您使用上面 #2 中的范围越多,匹配就越接近。所以如果你全部使用它,它只影响C++。

这里最后要注意的是 var(blue) 只有在您的配色方案定义了一个名为 blue 的变量时才有效。 Mariana 配色方案确实如此,这就是我在这里使用它的原因。你的可能没有,在这种情况下你需要以不同的方式指定颜色。

上例中的 link 指向包含更多详细信息的配色方案文档,但您可以使用类似 #0000FF 的内容代替 var(blue) 以获得纯蓝色(调整根据需要,蓝色可能太暗了)。