最准方法是用Show Scope Name命令查当前生效的color_scheme路径,若不在Packages/User/下需先复制再修改;编辑区背景色改background字段,.tmTheme用XML格式,.sublime-color-scheme用JSON格式;侧边栏等UI颜色由theme控制,与color_scheme无关。

怎么确认当前生效的 color_scheme 文件路径
你改的文件,必须是 Sublime 正在加载的那个,否则改了也白改。最准的方法是用内置命令查:把光标放在代码里,按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(Mac),输入 Show Scope Name 回车,右下角立刻显示类似 Packages/User/MyGreen.sublime-color-scheme 的完整路径。
如果路径里不含 Packages/User/,比如是 Packages/Dracula Color Scheme/Dracula.tmTheme,说明你正对着插件自带的主题改——下次插件更新就全没了。必须先复制到 Packages/User/ 下再动。
改编辑区背景色只认 background 字段,但格式分两种
.tmTheme(XML 格式)和 .sublime-color-scheme(JSON 格式)写法不同,混用会无效:
-
.tmTheme:搜<key>background</key>,改紧随其后的<string>#272822</string>,值必须是 6 位十六进制,如#C7EDCC -
.sublime-color-scheme:搜"background",它通常在"globals"或顶层"settings"块里,直接替换字符串值,如"#DCF1E5" - 别碰
selection背景色——它独立控制,不随background变;要调选中色,得单独找scope为selection的规则
侧边栏、标签页颜色跟 color_scheme 完全无关
改完编辑区发现侧边栏还是黑的?这不是漏改,是根本没对地方。color_scheme 对 UI 区域完全无效,它们归 theme 管。
检查当前 theme:菜单 Preferences → Theme…,看是不是 Adaptive.sublime-theme 这类基础主题(默认无配色)。要改侧边栏背景,得打开对应 .sublime-theme 文件,比如 Packages/Material Theme/Material-Theme.sublime-theme,搜 "class": "sidebar_container",改 "layer0.tint" 的 RGB 数组,如 [232, 245, 232]。
注意:"theme": "Packages/User/MyTheme.sublime-theme" 必须大小写准确、Packages/ 前缀不能少,斜杠方向也不能错;改完保存,部分 UI(比如树状目录背景)需关掉再开一个新窗口才刷新。
为什么改了注释颜色却没反应
常见原因是 scope 写得不准或顺序错了。Sublime 不报错,只是静默跳过无效 rule。
正确做法是:
- 把光标停在注释上(比如一行
# xxx),按Ctrl+Shift+P→Show Scope Name,看状态栏显示的完整 scope,比如comment.line.number-sign.python - 在
.tmTheme的<key>rules</key>里找这个完整字符串;找不到就新增一条<dict>,确保<key>scope</key>值一模一样 - scope 匹配有优先级:太宽泛(如
comment)会被更具体的(如comment.line.number-sign.python)覆盖;靠前的 rule 优先生效
真正容易被忽略的是:scope 名称带语言后缀(比如 .python、.js),而你可能只改了通用 comment 规则,结果 Python 文件里注释还是旧色。


















