Sublime Text 3 - CSS 属性 的配色方案

Sublime Text 3 - Color Scheme for CSS property

如何在 Sublime Text 3 中更改 CSS 属性的配色方案?

我已经修改了 Monokai.tmTheme 并更改了默认 Library variableVariable.

的颜色
<dict>
    <key>name</key>
    <string>Library variable</string>
    <key>scope</key>
    <string>support.other.variable</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>italic</string>
        <key>foreground</key>
        <string>#FFB6C1</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Variable</string>
    <key>scope</key>
    <string>variable</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>italic</string>
        <key>foreground</key>
        <string>#FFB6C1</string>
    </dict>
</dict>

通过更改<dict>中的最后一个<string>,您可以看到here变量的默认白色更改为粉红色。

我想更改 CSS 属性的默认蓝色,但找不到其相关的标记字符串名称。

如您所见,这些 .tmTheme 文件是 PList XML 格式。对于配色方案,<key>name</key> 之后的 <string> 实际上只是注释,在大多数情况下,name 键可能会完全丢失,因此最好直接查看 <string><key>scope</key>.

之后

这个字符串是 。该答案的重要收获是:

In Sublime Text, you can find the scope of the character to the right of the cursor by going to the Tools menu -> Developer -> Show Scope Name.

这将向您展示完整的范围堆栈,但通常我们只对 color scheme purposes. For example, it is not recommended to color a meta scope directly, but it can be used in conjunction with a non-meta scope for more precise coloring. See the official Scope Naming documentation 的最后一个范围感兴趣以了解更多详细信息。

(语法定义为文档中的文本分配范围,配色方案使用上述范围选择器为这些范围分配颜色。)

因此对于 CSS 属性,完整范围可能类似于 source.css meta.property-list.css meta.property-name.css support.type.property-name.css。如果只想更新 CSS 属性的颜色,而不更新具有相同 support.type 范围的其他语法的其他元素,则可以使用 support.type.property-namesupport.type.property-name.css 作为范围选择器。否则,您应该会发现配色方案已经在某处与 supportsupport.type 相匹配,并且可以更改与之关联的颜色。

就像在 CSS、scope selectors also have specificity rules 中一样,但这在很大程度上与简单的单一作用域选择器无关。这意味着,最好检查配色方案是否已经与您要更改颜色的范围相匹配 - 如果匹配,请更新它,否则您通常可以相应地添加一个新的 <dict>在其他规则之后接近文件末尾。

这些 dict 的最小内容是作用域和一个 settings 子词典,通常带有 foreground 集。此答案前面链接的官方配色方案文档将提供更多详细信息。

<dict>
    <key>scope</key>
    <string>support.type.property-name.css</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#FFB6C1</string>
    </dict>
</dict>