sublime代码高亮失效的根源是文件被识别为plain text,修复需三步:手动指定语法、绑定扩展名、检查ignored_packages是否误禁语法包。

右下角显示 Plain Text 就是根源
高亮一夜间全变白,不是主题崩了,也不是插件坏了,而是 Sublime 根本没加载任何语法规则——右下角写着 Plain Text 就是铁证。它把所有代码当纯文本渲染,自然不着色。
立刻验证:鼠标点一下右下角的 Plain Text,从菜单选目标语言(如 JavaScript、XML、VHDL)。如果菜单里压根没有你要的项,说明语法包被禁用或未安装;选完后光标停在 function 或 <tag></tag> 上,按 Ctrl+Shift+P 输入 Developer: Show Scope Name,输出含 source.js 或 text.xml 才算真正生效。
快捷方式更稳:Ctrl+Shift+P → 输入 Set Syntax: JavaScript 回车,比点菜单快且不易误触。
扩展名绑定失效导致每次打开都重置
手动选一次只管当前文件;要让所有 .xml、.s、.env 文件永久识别正确,必须绑定扩展名。
- 先确保当前文件右下角已显示正确语法(比如点了
XML后显示XML) - 再执行
View → Syntax → Open all with current extension as… → XML,这会生成Packages/User/XML.sublime-settings,内容类似{"syntax": "Packages/XML/XML.tmLanguage"} - 对大小写敏感的后缀(如
.S和.s)必须分别操作:右键文件标签页 →Open all with current extension as… - 非标后缀(如
.sv、.env.local)不支持该菜单项,得进Preferences → Settings – User手动加"extensions": ["sv", "env.local"](注意不要写成".env.local")
ignored_packages 误删基础语法包
很多人装插件时顺手在 Preferences → Settings 用户设置里写了 "ignored_packages": ["XML", "TypeScript"],结果把内置语法全关了——View → Syntax 菜单里连 Python、JSON 都没了,就是这个原因。
检查要点:
- 字段名必须是
ignored_packages(别拼错) - 值必须是数组,括号、引号、逗号一个不能少
- 大小写和空格敏感:
"Vue Component"≠"vue","JavaScript"≠"javascript" - 删掉不该禁的项后,必须 执行
Ctrl+Shift+P→Reload Syntax Definitions,重启 Sublime 不顶用
Scope 和主题不匹配导致“部分高亮消失”
看起来像高亮失效,其实是主题没定义对应 scope:函数参数变灰、=> 没颜色、import 和 from 同色,都是典型症状。
查证方法:
- 光标停在关键词上(如
console、class),按Ctrl+Shift+P输入Inspect Scope - 控制台输出类似
support.type.object.console.js或meta.tag.script.html - 打开当前配色方案(
Preferences → Color Scheme),搜索该 scope 名——搜不到,就说明主题漏定义了 - 临时绕过:换
Monokai或Adaptive主题,若恢复,问题就在原主题 outdated
真正麻烦的是 scope 链过长或嵌套太深,比如 source.js meta.function.js support.type.primitive.js,老主题往往只覆盖前两层,后面直接回落默认色——这种细节,改配置不如换主题来得干脆。











