sublime text ui 主题定制必须使用 .sublime-theme 文件而非 preferences 设置;需确认当前 theme 名,在 user/ 目录下同名覆盖,修改 quick_panel_label 等 class 规则并重启生效。

Sublime Text 的 UI 主题不能靠改 Preferences.sublime-settings 里的 JSON 设置来定制——它压根不认那些字段。真正起效的只有 .sublime-theme 文件,而且必须放在正确路径、匹配 class 规则、重启生效。
怎么确认当前 theme 文件名并安全覆盖
直接改内置主题文件(比如 Packages/Default.sublime-package 里的)等于白干:升级就丢。得用“用户覆盖”机制。
- 打开
Preferences → Settings,看右侧用户设置里"theme"的值,例如"Default.sublime-theme" - 进
Preferences → Browse Packages…,打开User/目录 - 新建文件,名字**必须完全一致**,包括大小写和
.sublime-theme后缀 - 内容建议从原始主题解压后复制(可用 7-Zip 打开
.sublime-package),避免结构缺失
改命令面板(Quick Panel)字体的关键 rule
命令面板文字由 "class": "quick_panel_label" 控制,不是全局 font 设置,也不是 color_scheme 能管的。
- 在
User/Default.sublime-theme中搜索或添加该 class 的 rule - 加
"font.face": "Fira Code"(系统已安装字体名,带空格要加引号) - 加
"font.size": 13(数值,非字符串) - 若想区分选中/未选中状态,再加一个不含
"attributes"的同 class rule - 改完必须重启 Sublime,不重启=没反应——这点被忽略最多
为什么改了 theme 却没变化
不是语法错,而是规则没命中目标元素,或者被更高优先级 rule 覆盖了。UI 主题依赖 class + attributes 精确匹配。
- 确认你改的是当前激活的 theme 文件名(比如用了
Adaptive.sublime-theme,却去改Default.sublime-theme) -
"class": "sidebar_container"和"class": "sidebar_tree"是不同层级,改错一个就无效 - 某些主题(如
Adaptive.sublime-theme)本身不定义颜色,侧边栏默认纯黑——换主题前先查文档 - 部分 UI(尤其是侧边栏背景)需关闭再开新窗口才刷新,保存 ≠ 立即生效
theme 和 color_scheme 完全不是一回事
很多人以为改了 "color_scheme" 就能调侧边栏颜色,其实它只管编辑区文字、注释、括号匹配等,连行号(gutter)都不影响。
-
color_scheme是.tmTheme或.sublime-color-scheme,控制代码区 -
theme是.sublime-theme,控制侧边栏、标签页、状态栏、按钮等所有 UI 元素 - 两者路径格式不同:
color_scheme支持Packages/User/xxx.tmTheme,而theme必须是xxx.sublime-theme(不带Packages/前缀) - 改
theme后,如果图标不显示,大概率缺"icon_theme"配置项——现代主题常依赖这个
最易被忽略的点:Sublime Text 4 对 .sublime-theme 语法更严格,老主题(尤其 ST3 专属)可能报 error parsing theme;另外,EditorConfig、Theme Toggler 这类插件会动态覆盖你的设置,调试时务必先禁用它们。











