sublime text显示plain text说明未加载语法规则,需先手动切换语法触发set as default选项,再在对应语法的xxx.sublime-settings中配置extensions数组;全局preferences.sublime-settings中的extensions字段被忽略,binary_file_patterns和ignored_packages设置也会静默屏蔽高亮。

Sublime Text 显示 Plain Text 就说明它根本没加载语法,不是高亮颜色错了,是连语法规则都没触发——所有排查都得围绕“为什么扩展名没对上语法”展开。
右下角点 Plain Text 后没出现 Set as Default 选项
这不是 Bug,是你还没在这类文件上手动切换过语法。Sublime 需要先“见过一次”该扩展名和目标语法的组合,才会生成绑定入口。
- 先点击右下角 Plain Text → 选一次 Plain Text(或任意你认为接近的语法)
- 再点一次右下角 → 此时菜单里就会出现
Set as Default for .xxx Files - 选它,Sublime 自动在
Packages/User/Plain Text.sublime-settings里写入{"extensions": ["xxx"]}
改了 Preferences.sublime-settings 的 extensions 却无效
Sublime 完全忽略全局设置里的 extensions 字段。这个字段只在某个语法包专属的 XXX.sublime-settings 文件中生效,比如 XML.sublime-settings 或 INI.sublime-settings。
- 必须先用右下角方式为某个扩展名设一次默认,触发 Sublime 生成对应语法的用户配置文件
- 再打开
Preferences → Package Settings → XXX → Settings编辑那个文件 - 在里面补全数组,例如:
{"extensions": ["conf", "ini", "env"]}
文件打开后右下角显示 Binary 而不是 Plain Text
这说明 binary_file_patterns 已经把它拦在门外了,根本没送进语法解析流程。高亮失效不是语法问题,是连内容都没读到。
- 检查
Preferences → Settings – User中的binary_file_patterns - 如果想搜
.gql或让.log正常高亮,就得从这个数组里删掉"*.gql"、"*.log" - 改完必须重开搜索面板或重启 Sublime,否则右下角仍显示 Binary
明明绑定了扩展名,但打开还是 Plain Text
大概率是 ignored_packages 里误禁了对应语法包,比如把 XML、JavaScript 或 TypeScript 加进去了。
- 打开
Preferences → Settings,左右对比:左侧默认设置里ignored_packages是什么,右侧用户设置里又加了什么 - 如果右侧有类似
"ignored_packages": ["XML"],直接删掉"XML" - 保存后必须执行
Ctrl+Shift+P → Reload Syntax Definitions,重启不是必须,但重载语法定义是刚需
最容易被忽略的是:binary_file_patterns 和 ignored_packages 这两个开关,一个在读取前就截断,一个在加载时就屏蔽——它们不报错、不提示,只让高亮静默消失。











