跳至内容

配色方案(旧版)

配色方案定义了在 Sublime Text 视图中用于突出显示源代码的颜色,以及用于设置编辑区域中不同元素的样式:背景、前景、选择、光标...

警告

本文档描述了从 TextMate 继承的旧版 .tmTheme 配色方案(不是主题!)格式。

对于 Sublime Text 3.1 中添加的新 .sublime-color-scheme 格式,请参考 官方文档.

注意

Sublime Text 区分定义编辑区域中颜色的“配色方案”和定义 UI 其余部分布局的“主题”。比较令人困惑的是,从 TextMate 继承的配色方案格式使用未更改的 .tmTheme 扩展名,因为 TextMate 主题中的主题就是 Sublime Text 的配色方案。

重要的是要记住,UI 主题和配色方案是两种不同的自定义机制。一般来说,创建新的配色方案比创建新的 UI 主题要简单得多。

文件格式

名称描述
格式属性列表
扩展名.tmTheme
名称任何
位置Packages 下的任何位置

配色方案文件的格式继承自 Textmate。

配色方案的存储位置

按照惯例,主要包含一组配色方案文件的 具有 Color Scheme - 前缀。例如:Color Scheme - Default

所有可用配色方案的文件名都显示在 Preferences → Color Scheme 菜单中,按包含的包进行分组。

配色方案文件结构

所有配色方案文件都共享相同的顶层结构。

颜色可以用以下格式表示:#RRGGBB#RGBX11 颜色名称

大多数控制颜色的元素接受 alpha 通道值:#RRGGBBAA

配色方案文件中的根元素

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>name</key>
    <string>Monokai</string>
    <key>settings</key>
    <array>
        <!-- INSERT DICTIONARIES WITH COLOR SETTINGS HERE -->
    </array>
    <key>uuid</key>
    <string>D8D5E82E-3D5B-46B5-B38E-8C841C21347D</string>
</dict>
</plist>

name : 可选。配色方案的名称。Sublime Text 会忽略它。

settings : 必需。用于存放更多配色方案设置的容器。有关详细信息,请参阅 设置的子元素

uuid : 可选。 文件的唯一标识符。Sublime Text 会忽略它。

设置的子元素

Sublime Text 支持以下颜色方案设置

全局设置

不与任何范围相关联。这些设置会影响编辑区域中的全局视觉项目。

全局设置位于最顶层的 <array> 元素内的 <dict> 元素中。

xml
<array>
   <dict>
      <key>settings</key>
      <dict>
         <key>background</key>
         <string>#272822</string>
         <key>caret</key>
         <string>#F8F8F0</string>
         ...
      </dict>
   </dict>
...
</array>

常规

foreground : 视图的默认前景色。影响文件内容、边距、标尺和指南。Alpha 通道不适用于文件内容。由于没有标尺的覆盖设置,因此更改标尺颜色的唯一方法是“hack”,这将在 CursorRuler 的 wiki 上 进一步说明。

background : 视图(和边距)的默认背景色。

invisibles : 忽略。

caret : 光标的颜色。

lineHighlight : 光标所在行的颜色。仅在 higlight_line 设置设置为 true 时使用。

括号

bracketContentsOptions : 控制光标位于括号对之间时括号的突出显示方式。需要一个空格分隔的可用选项列表。

仅在 match_brackets 设置设置为 true 时应用。

选项:underlinestippled_underlinesquiggly_underlineforeground

默认: underline

bracketContentsForeground : bracketContentsOptions 选择的突出显示的颜色。

仅在 match_brackets 设置设置为 true 时应用。

bracketsOptions : 控制光标位于括号旁边时括号的突出显示方式。需要一个空格分隔的可用选项列表。

仅在 match_brackets 设置设置为 true 时应用。

选项:underlinestippled_underlinesquiggly_underlineforeground

默认: underline

bracketsForeground : bracketOptions 选择的突出显示的颜色。

仅在 match_brackets 设置设置为 true 时应用。

标签

tagsOptions : 控制光标位于标签内部时标签的突出显示方式。需要一个空格分隔的可用选项列表。

仅在 match_tags 设置设置为 true 时应用。

选项:underlinestippled_underlinesquiggly_underlineforeground

默认: stippled_underline

tagsForeground : tagsOptions 选择的突出显示的颜色。

仅在 match_tags 设置设置为 true 时应用。

查找

findHighlight : 与当前搜索匹配的区域的背景色。

findHighlightForeground : 与当前搜索匹配的区域的前景色。

边距

gutter : 边距的背景色。

gutterForeground : 边距的前景色。

选择

selection : 选择区域的颜色。

selectionBorder : 选择区域边框的颜色。

inactiveSelection : 非活动选择(非活动视图)的颜色。

指南

guide : 用于指示嵌套级别的指南的颜色。

仅在 indent_guide_options 设置包含 draw_normal 时使用。

activeGuide : 与光标对齐的指南的颜色。

仅在 indent_guide_options 设置包含 draw_active 时应用。

stackGuide : 当前指南的父指南级别的颜色。

仅在 indent_guide_options 设置设置为 draw_active 时使用。

突出显示的区域

highlight : 通过 sublime.add_regions() 添加的区域的背景色,其中添加了 sublime.DRAW_OUTLINED 标志。

highlightForeground : 通过 sublime.add_regions() 添加的区域的前景色,其中添加了 sublime.DRAW_OUTLINED 标志。

阴影

shadow : 缓冲区滚动时的阴影效果的颜色。

shadowWidth : 缓冲区滚动时的阴影效果的宽度。

大于 32 的值会导致阴影隐藏。默认值为 8。

请注意,尽管其本质如此,但这需要一个**字符串值**。

作用域设置

与特定作用域关联的设置。

xml
<array>
   ...
   <dict>
      <key>name</key>
      <string>Comment</string>
      <key>scope</key>
      <string>comment</string>
      <key>settings</key>
      <dict>
         <key>foreground</key>
         <string>#75715E</string>
      </dict>
   </dict>
   ...
</array>

name : 项目的描述性名称。

scope : 目标作用域名称。

settings : 设置容器。有效的设置是

fontStyle : 字体样式的空格分隔列表。

Options: `bold`, `italic`, nothing (resets fontStyle to normal)

foreground : 前景色。

background : 背景色。

最小作用域覆盖范围

请参阅官方作用域命名指南,以了解颜色方案至少应涵盖哪些作用域。

视图设置

color_scheme : 相对于 Data 文件夹的颜色方案文件路径(例如:Packages/Color Scheme - Default/Monokai.tmTheme)。