主题
版
Sublime Text 界面的外观由主题控制。术语主题严格地指 UI 的外观 - 按钮、选择列表、侧边栏、选项卡等等。源代码、标记和散文的高亮显示由 配色方案 控制。
Sublime Text 的主题引擎基于光栅图形。PNG 用于防止纹理退化并提供完整的 alpha 控制。UI 中的每个元素最多可以应用四层纹理或填充,并具有控制不透明度和填充的属性。根据用户交互和设置,可以有条件地更改每个元素上设置的属性。
Sublime Text 主题通过 .sublime-theme 格式实现。它是一种 JSON 格式,用于指定匹配元素并修改其外观的规则。
格式🔗
一个 .sublime-theme 文件包含单个 JSON 文档。该文档应为 包含一个键“rules”,其值为 3179 一个规则数组。 一个可选的键“variables”可以添加一个包含变量/值对的对象。 3179
以下是一个 .sublime-theme 文件的示例,展示了格式。一个完整的主题将有更多规则来覆盖 UI 中使用的所有元素。
[
// Set up the textures for a button
{
"class": "button_control",
"layer0.tint": "#000",
"layer0.opacity": 1.0,
"layer1.texture": "Theme - Example/textures/button_background.png",
"layer1.inner_margin": 4,
"layer1.opacity": 1.0,
"layer2.texture": "Theme - Example/textures/button_highlight.png",
"layer2.inner_margin": 4,
"layer2.opacity": 0.0,
"content_margin": [4, 8, 4, 8]
},
// Show the highlight texture when the button is hovered
{
"class": "button_control",
"attributes": ["hover"],
"layer2.opacity": 1.0
},
// Basic text label style
{
"class": "label_control",
"fg": [240, 240, 240],
"font.bold": true
},
// Brighten labels contained in a button on hover
{
"class": "label_control",
"parents": [{"class": "button_control", "attributes": ["hover"]}],
"fg": [255, 255, 255]
}
]
术语🔗
主题的主要内容是一个规则数组。每个规则对象包含一个用于匹配元素的 "class"
键。除了 "class"
之外,还可以通过指定 "attributes"
、"settings"
、"parents"
和 "platforms"
键来进一步限制匹配。属性会影响元素的外观或行为。
- 变量允许在不同的规则中重复使用值。变量可以
包含任何类型的语法,但只能被规则中的顶级键引用。
大多数元素只有一个类名,尽管有一些元素有多个类名,以允许通用和特定样式。例如,popup_control
类可用于设置自动完成和 HTML 弹出窗口的样式,但 popup_control auto_complete_popup
可用于仅针对自动完成弹出窗口。多个 "class"
值用空格隔开。当规则指定多个类名时,元素上必须存在所有类名才能应用该规则。
"attributes"
由 Sublime Text 设置,并指示用户交互的状态,或有关元素性质的其他信息。该值是一个字符串数组。示例包括 "hover"
、"pressed"
和 "dirty"
。
"settings"
使用来自 .sublime-settings 文件的值来过滤规则。这允许主题作者让用户能够调整主题。主题可以定义自己的设置,但有一些“默认”设置应该尽可能得到支持。有关更多详细信息,请参阅 设置。
"settings"
键的值可以是
字符串数组
每个字符串都是布尔设置的名称。要检查
false
值,请在设置名称前添加!
。示例:
["bold_folder_labels", "!always_show_minimap_viewport"]
。对象
每个键都是一个设置的名称。值可以是布尔值、字符串或字符串数组。如果使用字符串数组,则当数组中的任何字符串与用户的设置值匹配时,将匹配该设置。当与字符串进行比较时,如果用户未设置该设置,则其设置将被强制转换为空字符串。
示例:
{"bold_folder_labels": true, "file_tab_style": "rounded"}
。
键 "parents"
是一个对象数组,指定了必须在父元素中匹配的 "class"
和 "attributes"
。请注意,父元素必须按从最远到最近的顺序排列。
键 "platforms"
是一个字符串数组,指定了将规则应用于哪些操作系统。有效选项包括 "osx"
、"windows"
和 "linux"
。
属性 指的是 JSON 对象中的所有其他键。某些属性在所有元素上都可用,而其他属性则特定于单个元素。
一般信息🔗
以下部分讨论有关图像的信息以及如何指定样式。
特异性🔗
与 CSS 不同,Sublime Text 主题在将规则应用于元素时不会进行特异性匹配。所有规则都将按顺序针对每个元素进行测试。匹配的后续规则将覆盖先前规则的属性。
纹理图像🔗
主题中的所有纹理都使用 PNG 图像指定。每个纹理应以“正常”DPI 保存,其中文件中的每个像素都将映射到一个设备像素。主题定义中的所有文件路径都应引用正常 DPI 版本。
每个纹理的第二个版本也应该以两倍的 DPI 包含,并在扩展名之前将 @2x
添加到文件名中。Sublime Text 在高 DPI 屏幕上显示时会自动使用 @2x
版本。:since:<还可以为以 300% 或更高比例运行的屏幕指定纹理的 @3x
变体 <3167>>。
目前不支持 SVG 图像。
尺寸🔗
主题中引用尺寸的整数单位始终以设备无关像素 (DIP) 指定。Sublime Text 会根据屏幕密度自动处理 UI 元素的缩放。
填充和边距🔗
填充和边距可以通过以下三种方式之一指定
单个整数值 - 相同的值应用于左、上、右和下
两个整数的数组 - 第一个值应用于左和右,第二个值应用于上和下
四个整数的数组 - 值按顺序应用于左、上、右和下
继承🔗
主题可以扩展另一个主题,追加规则并覆盖变量。要扩展主题,请在 JSON 对象中添加一个顶级键 "extends"
,其字符串值为基础主题。
{
"extends": "Default.sublime-theme",
"rules":
[
{
"class": "label_control",
"parents": [{"class": "button_control", "attributes": ["hover"]}],
"fg": "red"
}
]
}
生成的规则列表将以基础主题规则开头,然后是扩展主题规则。扩展主题中的任何变量都将覆盖基础主题中具有相同名称的变量。变量覆盖将影响基础主题和扩展主题中的规则。
变量🔗
可重用变量可以通过顶级键 "variables"
下的 JSON 对象定义。变量名称是字符串,但值可以是字符串、数字、布尔值、数组或对象。使用变量需要指定格式为 var(example_variable_name)
的字符串。
{
"variables":
{
"light_gray": "rgb(240, 240, 240)"
},
"rules":
[
{
"class": "label_control",
"fg": "var(light_gray)"
}
]
}
变量可以用作任何 属性 的值,但变量必须是整个值,不能嵌入在另一个变量中。此规则的唯一例外是变量可以用作 CSS color()
mod 函数的基础颜色。
颜色🔗
颜色可以通过 CSS 或传统颜色语法指定
CSS 颜色语法🔗
从 Sublime Text 版本 3177 开始,主题中的颜色现在可以使用 CSS 语法指定,如 minihtml 参考 中所支持的那样。这包括对十六进制、rgb()
、hsl()
、变量和颜色 mod 函数的支持。此外,所有从配色方案派生的 预定义变量 都可供使用。
白色,以十六进制表示
#fff
白色,使用 rgb()
函数式表示法
rgb(255, 255, 255)
50% 透明度白色,使用 hsl()
函数式表示法
hsla(0, 100%, 100%, 0.5)
配色方案中定义的最接近红色的颜色
var(--redish)
配色方案中定义的最接近红色的颜色,透明度为 50%
color(var(--redish) a(0.5)
传统颜色语法🔗
在支持 CSS 颜色语法之前,主题只能使用以下格式指定颜色,这些格式现在已弃用。
RGB🔗
RGB 颜色空间中的颜色通过一个包含 3 或 4 个数字的数组指定,前三个数字是介于 0
和 255
之间的整数,分别代表红色、绿色和蓝色分量。可选的第四个数字是介于 0.0
和 1.0
之间的浮点数,用于控制颜色的透明度。
白色,透明度为 100%
[255, 255, 255]
蓝色,透明度为 50%
[0, 0, 255, 0.5]
HSL🔗
颜色也可以使用 HSL 颜色空间指定,方法是创建一个包含 4 个元素的数组,第一个元素是字符串 "hsl"
。第二个元素是介于 0
和 360
之间的整数,指定色调。第三个元素是介于 0
和 100
之间的整数,指定饱和度,第四个元素是介于 0
和 100
之间的整数,指定亮度。
深洋红色,透明度为 100%
["hsl", 325, 100, 30]
可以添加一个从 0.0
到 1.0
的浮点数作为第五个元素来控制透明度。
亮青色,透明度为 50%
["hsl", 180, 100, 75, 0.5]
派生颜色🔗
也可以从当前全局配色方案中派生颜色。这种格式的颜色使用具有特定格式的数组来指定。在所有情况下,第一个元素都是基本颜色,可以是 "foreground"
、"background"
或 "accent"
。
更改基本颜色的透明度🔗
要更改基本颜色的透明度,请指定一个包含 2 个元素的数组,第一个元素是基本颜色名称,第二个元素是从 0.0
到 1.0
的浮点数。透明度将设置为浮点数的值。
配色方案的前景,透明度为 90%
["foreground", 0.9]
降低基本颜色的饱和度🔗
要降低基本颜色的饱和度,请指定一个包含 3 个元素的数组。第一个元素是基本颜色的名称,第二个元素是字符串 "grayscale"
,第三个元素是从 0
到 100
的整数,它指定应保留现有颜色饱和度(在 HSL 颜色空间中)的百分比。值为 100
表示没有变化,而值为 0
将导致颜色完全去饱和。
配色方案的前景,饱和度调整为原始值的 1/4。
["foreground", "grayscale", 25]
为基本颜色着色🔗
5 元素和 6 元素派生颜色允许将颜色混合到基本颜色中。5 元素颜色使用 RGBA 颜色,而 6 元素颜色使用 HSLA。在这两种情况下,最后一个元素(通常代表透明度)控制将多少次要颜色混合到基本颜色中。
配色方案的背景,用白色提亮
["background", 255, 255, 255, 0.1]
配色方案的强调色,用深红色着色
["accent", "hsl", 0, 100, 30, 0.2]
从配色方案派生的颜色将始终基于全局配色方案,并且不会反映特定于视图的配色方案。UI 中的某些特定于视图的控件具有着色属性,允许使用特定于视图的配色方案颜色。
字体大小🔗
字体大小可以以以下格式指定
数字🔗
一个整数或浮点数,用于指定字体的大小(以像素为单位)。
示例:12
、13.5
。
CSS 格式🔗
一个 px
或 rem
CSS 字体大小的字符串。
示例:12px
、1.`2rem
对于大多数元素,rem
大小基于全局设置 font_size
。使用不同根字体大小的元素将在描述中指定。
属性🔗
属性以字符串数组的形式指定。每个字符串都是一个属性名称。要检查属性是否不存在,请在名称前加上 !
。
以下属性是所有元素共有的
-
hover
当用户将鼠标悬停在元素上时设置。
Luminosity🔗
虽然并非所有元素都可用,但许多元素都根据当前配色方案的近似亮度设置属性。大多数元素的属性根据全局配色方案设置。但是,选项卡和选项卡背景的属性根据所选视图的特定配色方案设置。
属性根据背景颜色的 V
值分配,当表示为 HSV 颜色时。
-
file_light
V
从0.60
-1.00
-
file_medium
V
从0.30
-0.59
-
file_medium_dark
V
从0.10
-0.29
-
file_dark
V
从0.00
-0.09
Settings🔗
某些 Sublime Text 设置旨在影响 UI。主题应尊重这些设置并根据这些设置更改元素。
- "overlay_scroll_bars"🔗
这应该影响滚动条的样式 - 通常它们应该是半透明的,并且
overlay
属性的scroll_area_control
应该设置为true
。
- "always_show_minimap_viewport"🔗
如果当前视窗区域应该在小地图上突出显示,即使用户没有将鼠标悬停在小地图上。
- "bold_folder_labels"🔗
如果侧边栏中的文件夹名称应该将
font.bold
属性设置为true
。
- "mouse_wheel_switches_tabs"🔗
这用于控制 Linux 上选项卡的鼠标滚轮行为。它应该与检查
!enable_tab_scrolling
相结合,以将mouse_wheel_switch
属性的tabset_control
更改为false
。
- "highlight_modified_tabs"🔗
如果已修改文件的选项卡应该突出显示。此设置应与
dirty
属性一起检查。
- "show_tab_close_buttons"🔗
如果选项卡应该有关闭按钮。
- "inactive_sheet_dimming"🔗 4095
如果除了具有
highlighted
属性的选项卡之外的选项卡应该使用background_modifier
在视觉上淡化。
Properties🔗
一个 .sublime-theme 文件的 "rules"
键是一个 JSON 数组,其中包含描述如何对 UI 元素进行样式设置的对象。UI 中的每个元素都支持以下键
-
layer0.*
元素的最底层纹理 层。
-
layer1.*
元素的第二个纹理 层。
-
layer2.*
元素的第三个纹理 层。
-
layer3.*
元素的第四个纹理 层。
-
hit_test_level
一个浮点值,用于设置点击被视为“命中”所需的像素不透明度。
层属性🔗
UI 中的每个元素都支持最多四个纹理层,用于显示填充颜色和光栅图形。每个层在 layer#.sub-key
格式下都有带点的子键。有效的子键包括
-
layer#.opacity
一个从
0.0
到1.0
的浮点值,用于控制层的整体不透明度。示例:
0.9
-
layer#.tint
要应用于层的填充颜色的 颜色值。
示例:
[255, 0, 0, 127]
-
layer#.texture
相对于 Packages/ 文件夹的 PNG 图像文件路径的字符串。
示例:
"Theme - Default/arrow_right.png"
-
layer#.inner_margin
纹理图像通过使用四条线将其切分成 9 个网格来拉伸以适应元素。有关用于指定用于创建切片的边距的有效格式,请参见 填充和边距。
示例:
[5, 2, 5, 2]
-
layer#.draw_center
一个布尔值,用于控制是否应绘制通过
layer#.inner_margin
创建的 9 个网格的中心矩形。这是一个优化,允许跳过未使用的纹理部分。示例:
false
-
layer#.repeat
一个布尔值,用于控制纹理是否应重复而不是拉伸。
示例:
false
值动画🔗
由浮点数指定的属性可以在一段时间内进行动画处理。动画不是通过提供单个数值来指定的,而是通过包含动画详细信息的对象来指定的。值动画主要用于随时间推移更改不透明度。对象键是
-
target
一个从
0.0
到1.0
的浮点值,用于控制目标值。示例:
1.0
-
speed
一个大于或等于
1.0
的浮点值,用于控制动画的相对持续时间。示例:
1.5
-
interpolation
一个可选字符串,允许指定使用smoothstep函数而不是默认的linear函数。
默认值:
"linear"
示例:
"smoothstep"
纹理动画🔗
layer#.texture
子键可以是一个对象,用于指定基于两个或多个 PNG 图像的动画。对象键是
-
关键帧
一个字符串数组,按顺序包含 PNG 图像的路径
示例:
["Theme - Default/spinner.png", "Theme - Default/spinner1.png"]
-
循环
一个可选的布尔值,控制动画是否应该重复
默认值:
false
示例:
true
-
帧时间
一个可选的浮点数,指定每帧应该显示多长时间。
1.0
代表 1 秒。默认值:
0.0333
(30 帧/秒)示例:
0.0166
(60 帧/秒)
纹理着色属性🔗
某些元素有一个可用的色调值,由当前颜色方案的背景设置。色调可以修改并应用于 layer#.texture
图像。
-
色调索引
控制将色调应用于哪个图层。必须是
0
到3
之间的整数。
-
色调修饰符
一个包含四个整数的数组,范围为
0
到255
。前三个与色调颜色中的 RGB 值混合,第四个值指定要应用这些 RGB 修饰符值的多少。
字体属性🔗
某些文本元素允许设置以下字体属性
-
font.face
字体名称。
-
font.size
字体大小。
-
font.bold
一个布尔值,如果字体应该是粗体。
-
font.italic
一个布尔值,如果字体应该是斜体。
-
color
用于文本的颜色值 -
fg
属性是它的别名,用于向后兼容。
-
shadow_color
用于文本阴影的颜色值。
-
shadow_offset
一个包含阴影的 X 和 Y 偏移量的 2 元素数组
-
opacity
4073 一个从
0.0
到1.0
的浮点数,它乘以color
和shadow_color
属性的不透明度。
过滤器标签属性🔗
快速面板中使用的标签根据选择和匹配进行颜色控制
-
fg
未选中、未匹配文本的颜色值。
-
match_fg
未选中、匹配文本的颜色值。
-
bg
未选中行的背景颜色值。
-
selected_fg
选中、未匹配文本的颜色值。
-
selected_match_fg
选定匹配文本的 颜色值。
-
bg
选定行的背景 颜色值。
-
font.face
字体名称。
-
font.size
字体大小。
数据表属性🔗
基于行的表格数据提供以下属性
-
dark_content
如果背景是深色 - 用于设置滚动条的
dark
属性。
-
row_padding
添加到每一行的填充,采用 填充和边距 中描述的格式之一。
样式化标签属性🔗
某些标签允许对它们的外观进行额外的控制。它们支持以下属性
-
border_color
标签边框的 颜色值。
-
background_color
标签背景的 颜色值。
元素🔗
以下是构成 Sublime Text UI 的元素的完整列表,以及支持的属性和特性
窗口🔗
-
title_bar
-
window
此元素不能直接设置样式,但可以在
"parents"
键中使用。亮度属性根据全局颜色方案设置。- 属性:
-
edit_window
此元素包含主编辑窗口,旨在用于
"parents"
键中。
-
switch_project_window
此元素包含切换项目窗口,旨在用于
"parents"
键中。
侧边栏🔗
-
sidebar_container
处理滚动的主要侧边栏容器。
- 特性:
-
content_margin
围绕
sidebar_tree
的 边距。
-
-
sidebar_tree
包含多个
tree_row
的树形控件。- 特性:
-
indent
用于缩进树结构的每个级别的整数。
-
indent_offset
应用于每一行的额外缩进,用于定位
disclosure_button_control
和close_button
。
-
indent_top_level
一个布尔值,表示树中的顶级行是否应该缩进。
-
spacer_rows
一个布尔值,控制当“打开的文件”和“文件夹”部分都可见时,是否应该在它们之间添加一个空白行。
-
-
tree_row
一行可能包含标题、打开的文件、文件夹或文件。
- 属性:
-
selectable
当一行可选择时。
-
selected
当可选择的行被选中时。
-
expandable
当一行可展开时。
-
expanded
当可展开的行被展开时。
-
-
sidebar_heading
侧边栏中的“打开的文件”、“组 #”或“文件夹”标题之一。
- 特性:
-
-
case
3179 用于标题的案例修改 -
"upper"
,"lower"
或"title"
。默认值:
"upper"
-
-
file_system_entry`
3181 包含有关侧边栏中文件或文件夹的信息的容器。包含不同的控件,具体取决于它位于侧边栏的哪个部分。
在“打开的文件”部分,此控件将包含一个带有文件名
sidebar_label
,以及可能的一个vcs_status_badge
。在文件夹部分,此控件将包含一个文件夹或文件图标(
icon_folder
、icon_folder_loading
、icon_folder_dup
或icon_file_type
),一个带有文件或文件夹名称的sidebar_label
,以及可能的一个vcs_status_badge
。- 属性:
-
忽略
文件:当文件被忽略时。
文件夹:当整个文件夹被忽略时。
-
未跟踪
文件:当文件是新的或未被识别时。
文件夹:当文件夹包含一个或多个未跟踪的文件时。
-
已修改
文件:当文件在磁盘上被更改时。
文件夹:当文件夹包含一个或多个已修改的文件时。
-
丢失
文件夹:当文件夹中的一个或多个文件不再存在于磁盘上时。
-
已添加
文件:当一个新文件被添加到索引中时。
文件夹:当文件夹包含一个或多个已添加的文件时。
-
已暂存
文件:当一个已修改的文件被添加到索引中时。
文件夹:当文件夹包含一个或多个已暂存的文件时。
-
已删除
文件夹:当文件夹中的一个或多个文件被添加到索引中以供删除时。
-
未合并
文件:当文件处于冲突状态,需要解决时。
文件夹:当文件夹包含一个或多个未合并的文件时。
-
- 特性:
-
content_margin
围绕包含控件的 边距。
-
间距
每个包含控件之间的像素整数。
-
-
sidebar_label
打开文件的名称、文件夹名称和文件名。
- 特性:
-
close_button
打开文件部分中每个文件左侧的按钮。
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
-
disclosure_button_control
所有可扩展的
tree_row
中存在的展开/折叠图标- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
-
icon_folder
用于文件夹,一旦内容被完全枚举。
- 特性:
-
content_margin
对于图标,边距指定尺寸。
-
-
icon_folder_loading
用于文件夹,当内容正在被枚举时
- 特性:
-
content_margin
对于图标,边距指定尺寸。
-
-
icon_folder_dup
用于以前在侧边栏中扫描过的文件夹。这对于防止由于递归符号链接导致的无限文件列表是必要的。
- 特性:
-
content_margin
对于图标,边距指定尺寸。
-
-
icon_file_type
文件的图标。不应设置
layer0.texture
,因为它根据 .tmPreferences 文件提供的icon
设置动态确定。- 特性:
-
content_margin
对于图标,边距指定尺寸。
-
-
vcs_status_badge
3181 包含在
file_system_entry
中的图标,用于显示文件或文件夹相对于其所在 Git 存储库的状态。此图标仅在设置show_git_status
为true
、文件位于 Git 存储库中,并且文件在存储库中具有某种特殊状态时才会显示。通过git status
未显示且未通过 .gitignore 规则忽略的文件将没有图标。- 属性:
-
忽略
文件:当文件被忽略时。
文件夹:当整个文件夹被忽略时。
-
未跟踪
文件:当文件是新的或未被识别时。
文件夹:当文件夹包含一个或多个未跟踪的文件时。
-
已修改
文件:当文件在磁盘上被更改时。
文件夹:当文件夹包含一个或多个已修改的文件时。
-
丢失
文件夹:当文件夹中的一个或多个文件不再存在于磁盘上时。
-
已添加
文件:当一个新文件被添加到索引中时。
文件夹:当文件夹包含一个或多个已添加的文件时。
-
已暂存
文件:当一个已修改的文件被添加到索引中时。
文件夹:当文件夹包含一个或多个已暂存的文件时。
-
已删除
文件夹:当文件夹中的一个或多个文件被添加到索引中以供删除时。
-
未合并
文件:当文件处于冲突状态,需要解决时。
文件夹:当文件夹包含一个或多个未合并的文件时。
-
- 特性:
-
content_margin
对于图标,边距指定尺寸。
-
选项卡🔗
-
tabset_control
-
tab_control
- 属性:
-
-
dirty
当关联视图有未保存的更改时。
-
已添加
当关联视图是新文件时。
-
已修改
当关联视图是已修改的文件时。
-
已删除
当关联视图是已删除或不再存在的文件时。
-
selected
当关联视图是其组中的活动视图时。
-
transient
当关联视图是预览且未完全打开时。
-
highlighted
4050 当选项卡是具有输入焦点的表格时。
-
left
4095 当选项卡是选项卡集中最左边的选项卡时。
-
right
4095 当选项卡是选项卡集中最右边的选项卡时。
-
multiple
4095 当选项卡是表格多选的一部分时。
-
left_of_selected
4095 当选项卡位于选定选项卡的左侧时。
-
left_of_hover
4095 当选项卡位于悬停选项卡的左侧时。
-
right_of_selected
4095 当选项卡位于选定选项卡的右侧时。
-
right_of_hover
4095 当选项卡位于悬停选项卡的右侧时。
-
left_overhang
4095 当选项卡悬停在其表格的左侧时,这可能发生在表格多选期间。
-
right_overhang
4095 当选项卡悬停在其表格的右侧时,这可能发生在表格多选期间。
-
- 特性:
-
-
content_margin
围绕
tab_label
的 边距。
-
max_margin_trim
当选项卡空间极其有限时,可以删除多少左右
content_margin
。
-
accent_tint_index
控制将强调色调应用于哪个图层。必须是
0
到3
之间的整数。强调色由配色方案指定。
-
accent_tint_modifier
一个包含四个整数的数组,范围在
0
到255
之间。前三个与强调色中的 RGB 值混合,第四个值指定要应用多少这些 RGB 修饰符值。
-
-
tab_label
- 属性:
-
dirty
当关联视图有未保存的更改时。
-
已添加
当关联视图是新文件时。
-
已修改
当关联视图是已修改的文件时。
-
已删除
当关联视图是已删除或不再存在的文件时。
-
transient
当关联视图是预览且未完全打开时
-
- 特性:
-
tab_close_button
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
accent_tint_index
控制将强调色调应用于哪个图层。必须是
0
到3
之间的整数。强调色由配色方案指定。
-
accent_tint_modifier
一个包含四个整数的数组,范围在
0
到255
之间。前三个与强调色中的 RGB 值混合,第四个值指定要应用多少这些 RGB 修饰符值。
-
-
scroll_tabs_left_button
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
-
scroll_tabs_right_button
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
-
show_tabs_dropdown_button
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
-
tab_connector
4095 - 属性:
-
left_overhang
当选项卡悬停在其表格的左侧时,这可能发生在表格多选期间。
-
right_overhang
当选项卡悬停在其表格的右侧时,这可能发生在表格多选期间。
-
- 特性:
快速面板🔗
快速面板用于各种转到功能、命令面板,并且插件可以使用它。
-
overlay_control
快速面板的容器,包括输入和数据表。
- 专业化::
为了允许在快速面板用于特定功能时定位
overlay_control
,可以使用以下多类选择器-
overlay_control goto_file
转到文件快速面板。
-
overlay_control goto_symbol
转到符号快速面板。
-
overlay_control goto_symbol_in_project
转到项目中的符号快速面板。
-
overlay_control goto_line
转到行快速面板。
-
overlay_control goto_word
转到任何内容快速面板,按单词过滤。
-
overlay_control command_palette
命令面板。
4050-
- 特性:
-
content_margin
围绕
quick_panel
的 边距。
-
-
quick_panel
显示在输入下方的数据表。通常高度是动态的,因此图层将不可见,但是切换项目窗口将使用图层来表示过滤选项下方空白区域。
- 特性:
-
mini_quick_panel_row
在
quick_panel
中的非文件行。包含一个quick_panel_label
,用于表示行中的每一行文本。- 属性:
-
selected
当行被选中时。
-
-
quick_panel_row
在
quick_panel
中的转到任何内容文件行。也用于切换项目窗口。包含
quick_panel_label
,用于表示文件名,以及quick_panel_path_label
,用于表示文件路径。- 属性:
-
selected
当行被选中时。
-
-
quick_panel_entry
4050 一个仅用于控制间距的容器,用于控制
quick_panel_label
和quick_panel_path_label
之间的间距,当一行包含一个或多个详细信息行时。- 特性:
-
间距
文本行之间像素的整数数量。
-
-
kind_container
4050 在“转到符号”和“在项目中转到符号”快速面板中,符号左侧显示的容器。它包含
kind_label
,用于指示符号的类型。此元素也用于
auto_complete
中,以显示正在插入的项目的类型。应使用"parents"
键来区分这两种用法。元素
kind_container
始终与第二个类名配对,该类名指示该类型所属的通用类别。快速面板中使用的类别如下:- 专业化::
-
kind_container kind_ambiguous
当项目的类型未知时 – 无颜色。
-
kind_container kind_keyword
当项目是关键字时 – 通常为粉红色。
-
kind_container kind_type
当项目是数据类型、类、结构体、接口、枚举、特征等时 – 通常为紫色。
-
kind_container kind_function
当项目是函数、方法、构造函数或子例程时 – 通常为红色。
-
kind_container kind_namespace
当项目是命名空间或模块时 – 通常为蓝色。
-
kind_container kind_navigation
当项目是定义、标签或部分时 – 通常为黄色。
-
kind_container kind_markup
当项目是标记组件时,包括 HTML 标签和 CSS 选择器 – 通常为橙色。
-
kind_container kind_variable
当项目是变量、成员、属性、常量或参数时 – 通常为青色。
-
kind_container kind_snippet
当项目是代码片段时 – 通常为绿色。
-
kind_container kind_color_redish
当插件作者想要显示红色时。
-
kind_container kind_color_orangish
当插件作者想要显示橙色时。
-
kind_container kind_color_yellowish
当插件作者想要显示黄色时。
-
kind_container kind_color_greenish
当插件作者想要显示绿色时。
-
kind_container kind_color_cyanish
当插件作者想要显示青色时。
-
kind_container kind_color_bluish
当插件作者想要显示蓝色时。
-
kind_container kind_color_purplish
当插件作者想要显示紫色时。
-
kind_container kind_color_pinkish
当插件作者想要显示粉红色时。
-
kind_container kind_color_dark
当插件作者想要显示深色背景时。
-
kind_container kind_color_light
当插件作者想要显示浅色背景时。
-
- 特性:
-
content_margin
一个 边距,它将添加到
kind_label
周围。
-
-
kind_label
4050 一个显示单个 Unicode 字符的标签,包含在
kind_container
中。此元素也用于
auto_complete
中,以显示正在插入的项目的类型。应使用"parents"
键来区分这两种用法。- 特性:
-
symbol_container
4050 在显示“转到符号”或“在项目中转到符号”符号列表时,
quick_panel_label
周围的容器。- 特性:
-
content_margin
一个 边距,它将添加到
quick_panel_label
周围。
-
-
quick_panel_label
quick_panel_row
中的文件名和mini_quick_panel_row
中的所有文本。- 特性:
-
quick_panel_path_label
quick_panel_row
中的文件路径。- 特性:
-
quick_panel_label key_binding
4073 快捷键显示在
quick_panel_row
的右侧。- 特性:
-
quick_panel_label hint
4073 注释显示在
quick_panel_row
的右侧。- 特性:
工作表🔗
-
sheet_contents
4095 工作表可以包含文本、图像或 HTML 内容。
- 属性:
-
-
highlighted
4095 当工作表获得输入焦点时。
-
- 特性:
-
background_modifier
一个包含由 color() mod 函数 支持的调整器的空格分隔列表的字符串。用于实现非活动工作表调光。
-
视图🔗
-
text_area_control
此元素不能直接设置样式,因为这由配色方案控制,但它可以在
"parents"
键中使用。- 属性:
-
grid_layout_control
当多个组可见时,在视图之间显示的边框。
- 特性:
-
border_color
用于边框的 颜色值。
-
border_size
边框大小的整数,以 DIP 为单位。
-
-
minimap_control
控制在小地图上显示视口投影。
- 特性:
-
viewport_color
用于填充视口投影的 颜色值。
-
viewport_opacity
一个从
0.0
到1.0
的浮点数,指定视口投影的不透明度。
-
-
fold_button_control
代码折叠按钮在代码边距中。
- 属性:
-
expanded
当代码的一部分展开时。
-
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
-
popup_shadow
4075 弹出窗口的包装器,允许控制阴影。
-
popup_control html_popup
用于 显示定义 和第三方软件包的 HTML 弹出窗口的主要容器。滚动条的色调将设置为 HTML 文档的背景颜色。
-
popup_control annotation_popup
4050 由构建系统和第三方软件包添加到编辑器窗格右侧的注释的主要容器。
-
annotation_close_button
4050 显示在
annotation_popup
左侧边缘的关闭按钮。- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
自动完成🔗
-
popup_control auto_complete_popup
自动完成弹出窗口的主要容器。
-
table_row
在
auto_complete
中的一行。- 属性:
-
selected
当用户突出显示一个完成项时。
-
-
kind_container
4050 显示在自动完成项左侧的容器,其中包含
kind_label
,用于指示项的类型。此元素也用于
quick_panel
的“转到符号”和“在项目中转到符号”。应使用"parents"
键来区分这两种用法。元素
kind_container
始终与第二个类名配对,该类名指示类型所属的通用类别。自动完成窗口中使用的类别如下- 专业化::
-
kind_container kind_ambiguous
当项目的类型未知时 – 无颜色。
-
kind_container kind_keyword
当项目是关键字时 – 通常为粉红色。
-
kind_container kind_type
当项目是数据类型、类、结构体、接口、枚举、特征等时 – 通常为紫色。
-
kind_container kind_function
当项目是函数、方法、构造函数或子例程时 – 通常为红色。
-
kind_container kind_namespace
当项目是命名空间或模块时 – 通常为蓝色。
-
kind_container kind_navigation
当项目是定义、标签或部分时 – 通常为黄色。
-
kind_container kind_markup
当项目是标记组件时,包括 HTML 标签和 CSS 选择器 – 通常为橙色。
-
kind_container kind_variable
当项目是变量、成员、属性、常量或参数时 – 通常为青色。
-
kind_container kind_snippet
当项目是代码片段时 – 通常为绿色。
-
- 特性:
-
content_margin
一个 边距,它将添加到
kind_label
周围。
-
-
kind_label
4050 一个显示单个 Unicode 字符的标签,包含在
kind_container
中。此元素也用于
quick_panel
的“转到符号”和“在项目中转到符号”。应使用parents
键来区分这两种用法。- 特性:
-
显示自动完成窗口的编辑器控件的字体大小决定了
rem
根字体大小。
-
trigger_container
4050 围绕
auto_complete_label
的容器。- 特性:
-
content_margin
围绕
auto_complete_label
添加的 边距。
-
-
auto_complete_label
在
table_row
中的文本。- 特性:
-
-
fg_blend
一个布尔值,控制是否将
fg
、match_fg
、selected_fg
和selected_match_fg
值混合到当前视图颜色方案的前景色上。
-
-
auto_complete_label auto_complete_hint
4073 在
table_row
右侧显示的“注释”提示。- 特性:
-
显示自动完成窗口的编辑器控件的字体大小决定了
rem
根字体大小。-
fg_blend
一个布尔值,控制是否将
color
值混合到当前视图颜色方案的前景色上。
-
-
auto_complete_detail_pane
4050 一个显示在自动完成项列表下方的详细信息窗格,包含
auto_complete_info
间隔符,以及其中的auto_complete_kind_name_label
和auto_complete_details
。- 特性:
-
content_margin
在子控件周围添加的 边距。
-
-
auto_complete_info
4050 在
auto_complete_kind_name_label
和auto_complete_details
之间提供间距。- 特性:
-
间距
每个包含控件之间的像素整数。
-
面板🔗
-
panel_control find_panel
查找和增量查找面板的容器。
- 特性:
-
content_margin
面板内容周围的 边距。
-
-
panel_control replace_panel
替换面板的容器。
- 特性:
-
content_margin
面板内容周围的 边距。
-
-
panel_control find_in_files_panel
在文件中查找面板的容器。
- 特性:
-
content_margin
面板内容周围的 边距。
-
-
panel_control input_panel
输入面板的容器,可通过 API 使用,用于文件重命名等操作。
- 特性:
-
content_margin
面板内容周围的 边距。
-
-
panel_control console_panel
控制台的容器。
- 特性:
-
content_margin
面板内容周围的 边距。
-
-
panel_control output_panel
输出面板的容器,可通过 API 使用,用于构建结果。
- 特性:
-
content_margin
面板内容周围的 边距。
-
-
panel_control switch_project_panel
切换项目窗口中输入的容器。
- 特性:
-
content_margin
面板内容周围的 边距。
-
-
panel_grid_control
用于在各种面板上定位输入的布局网格。
- 特性:
-
inside_spacing
在网格的每个单元格之间放置的整数填充。
-
outside_vspacing
在网格上方和下方放置的整数填充。
-
outside_hspacing
在网格左侧和右侧放置的整数填充。
-
-
panel_close_button
用于关闭打开的面板的按钮
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
状态栏🔗
-
status_bar
- 属性:
-
panel_visible
当面板显示在状态栏上方时
-
- 特性:
-
content_margin
围绕
sidebar_button_control
、status_container
和status_buttons
的 边距。
-
-
panel_button_control
<4050 状态栏左侧的面板切换按钮。
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
-
sidebar_button_control
4050 状态栏左侧的侧边栏/面板切换按钮。
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
-
status_container
包含当前状态消息的区域。
- 特性:
-
content_margin
围绕状态消息的 边距。
-
-
status_button
显示并允许更改缩进、语法、编码和行尾的按钮。
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
min_size
一个包含两个整数的数组,以 DIP 为单位指定按钮的最小宽度和高度。
-
-
vcs_status
3181 包含
vcs_branch_icon
、带有当前分支名称的label_control
和vcs_changes_annotation
控件的容器。- 特性:
-
content_margin
围绕包含控件的 边距。
-
间距
每个包含控件之间的像素整数。
-
-
vcs_branch_icon
3181 显示在当前分支名称左侧的图标。
- 特性:
-
content_margin
对于图标,边距指定尺寸。
-
对话框🔗
-
dialog
索引器状态和更新窗口都使用此类作为窗口背景。
-
progress_bar_control
进度条容器。进度条显示在用于 Mac 和 Windows 更新的更新窗口中。
-
progress_gauge_control
表示迄今为止完成的进度的条形。
- 特性:
-
content_margin
The margin 指定条形的高度。
-
滚动条🔗
-
scroll_area_control
滚动区域包含正在滚动的元素,以及条形、轨道和滑块。
- 属性:
-
scrollable
3186 当控件可以垂直滚动时。
-
hscrollable
3186 当控件可以水平滚动时。
-
- 特性:
-
content_margin
A margin 添加到正在滚动的内容周围。
-
overlay
将滚动条设置为渲染在内容之上。
-
left_shadow
A color value 用于绘制阴影以指示区域可以向左滚动。
-
left_shadow_size
当区域可以向左滚动时,要绘制的阴影的宽度(整数)。
-
top_shadow
A color value 用于绘制阴影以指示区域可以向上滚动。
-
top_shadow_size
当区域可以向上滚动时,要绘制的阴影的高度(整数)。
-
right_shadow
A color value 用于绘制阴影以指示区域可以向右滚动。
-
right_shadow_size
当区域可以向右滚动时,要绘制的阴影的宽度(整数)。
-
bottom_shadow
A color value 用于绘制阴影以指示区域可以向下滚动。
-
bottom_shadow_size
当区域可以向下滚动时,要绘制的阴影的高度(整数)。
-
-
scroll_bar_control
滚动条包含滚动轨道。色调根据正在滚动的元素的背景颜色设置。
-
scroll_track_control
滑块沿其运行的轨道。色调根据正在滚动的元素的背景颜色设置。
- 属性:
-
dark
当滚动区域内容为深色时,需要浅色滚动条。
-
horizontal
当滚动条应为水平而不是垂直时。
-
- 特性:
-
scroll_corner_control
当垂直和水平滚动条都显示时,
scroll_area_control
右下角的空白区域。- 属性:
-
dark
当滚动区域内容为深色时,需要浅色滚动条。
-
- 特性:
-
puck_control
滚动滑块或手柄。色调根据正在滚动的元素的背景颜色设置。
- 属性:
-
dark
当滚动区域内容为深色时,需要浅色滚动条。
-
horizontal
当滚动条应为水平而不是垂直时。
-
- 特性:
输入🔗
-
text_line_control
快速面板、查找、替换、在文件中查找和输入面板使用的文本输入。
- 特性:
-
content_margin
The margin 围绕文本。
-
color_scheme_tint
A color value 用于对颜色方案的背景进行着色。
-
color_scheme_tint_2
A color value 用于对颜色方案的背景添加二次着色。
-
-
dropdown_button_control
用于关闭打开的面板的按钮。
- 特性:
-
content_margin
对于按钮,边距指定尺寸。
-
标签🔗
-
label_control
标签显示在“查找”、“替换”、“在文件中查找”和“输入”面板中。此外,标签还用于“更新”窗口、文本按钮以及
status_container
中的文本。可以通过使用
"parents"
键来定位特定标签。- 特性:
-
title_label_control
标题标签用于“关于”窗口。
- 特性:
工具提示🔗
-
tool_tip_control
将鼠标悬停在选项卡和按钮上时显示的工具提示。
- 特性:
-
content_margin
工具提示文本周围的 边距。
-
-
tool_tip_label_control
工具提示中显示的文本
- 特性:
已弃用🔗
颜色值🔗
在 3127 版本之前,指定颜色不透明度的唯一方法是使用包含从 0
到 255
的所有整数的 4 元素数组。第四个元素控制不透明度,因此 0
表示完全透明,255
表示完全不透明。现在首选的格式是使用从 0.0
到 1.0
的浮点数。
已过时🔗
随着 Sublime Text UI 的不断改进,某些元素和属性不再适用或不受支持。
元素🔗
panel_button_control
元素已从状态栏中移除,并由 sidebar_button_control
替换。
sheet_container_control
元素在 Sublime Text 的最新版本中对用户不可见。
名为 icon_reverse
的元素曾经存在于查找面板中,用于控制在视图中向前或向后搜索。现在由“查找”和“查找上一个”按钮控制。
名为 quick_panel_score_label
的元素不再存在于“转到任何位置”快速面板中。
属性🔗
blur
属性曾经支持模糊元素后面的像素数据,但由于实现原因,目前不支持。
自定义🔗
用户可以通过创建包含新规则的文件来自定义主题,这些规则将附加到原始主题定义中。
要创建主题的特定于用户的自定义,请创建一个与主题同名的文件,但将其保存在 Packages/User/ 目录中。
例如,要自定义默认主题,请创建一个名为 Packages/User/Default.sublime-theme 的文件。在该文件中添加以下规则将增加侧边栏中文字的大小。
[
{
"class": "sidebar_heading",
"font.size": 15,
},
{
"class": "sidebar_label",
"font.size": 14
}
]