如何改变字体的颜色?
How to change color of font?
如何改变某个语法类型标签的颜色?
我知道有配色方案文件,但该文件的哪一行与特定标签的颜色相关(例如 class 或函数)。
比如Sublime Text 3中有一段代码:
我不想看到标签 'Node'(即 class-标签)是黄色的,但想看到它是蓝色的。我该怎么做?
为此,您需要修改您正在使用的配色方案,以告诉它以不同的格式为事物着色。特别是,您需要了解两件事:
您当前使用的配色方案。
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)
以获得纯蓝色(调整根据需要,蓝色可能太暗了)。
如何改变某个语法类型标签的颜色?
我知道有配色方案文件,但该文件的哪一行与特定标签的颜色相关(例如 class 或函数)。
比如Sublime Text 3中有一段代码:
我不想看到标签 'Node'(即 class-标签)是黄色的,但想看到它是蓝色的。我该怎么做?
为此,您需要修改您正在使用的配色方案,以告诉它以不同的格式为事物着色。特别是,您需要了解两件事:
您当前使用的配色方案。
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)
以获得纯蓝色(调整根据需要,蓝色可能太暗了)。