配色方案(旧版)
配色方案定义了在 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
、#RGB
、X11 颜色名称
大多数控制颜色的元素接受 alpha 通道值:#RRGGBBAA
。
配色方案文件中的根元素
<?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>
元素中。
<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
时应用。
选项:underline
、stippled_underline
、squiggly_underline
、foreground
默认: underline
bracketContentsForeground
: bracketContentsOptions
选择的突出显示的颜色。
仅在 match_brackets
设置设置为 true
时应用。
bracketsOptions
: 控制光标位于括号旁边时括号的突出显示方式。需要一个空格分隔的可用选项列表。
仅在 match_brackets
设置设置为 true
时应用。
选项:underline
、stippled_underline
、squiggly_underline
、foreground
默认: underline
bracketsForeground
: bracketOptions
选择的突出显示的颜色。
仅在 match_brackets
设置设置为 true
时应用。
标签
tagsOptions
: 控制光标位于标签内部时标签的突出显示方式。需要一个空格分隔的可用选项列表。
仅在 match_tags
设置设置为 true
时应用。
选项:underline
、stippled_underline
、squiggly_underline
、foreground
默认: 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。
请注意,尽管其本质如此,但这需要一个**字符串值**。
作用域设置
与特定作用域关联的设置。
<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
: 背景色。
最小作用域覆盖范围
请参阅官方作用域命名指南,以了解颜色方案至少应涵盖哪些作用域。
与颜色方案相关的 Sublime Text 设置
视图设置
color_scheme
: 相对于 Data 文件夹的颜色方案文件路径(例如:Packages/Color Scheme - Default/Monokai.tmTheme
)。