新建文件默认为 plain text 是 sublime 的设计逻辑,非 bug;点击右下角 plain text 或用 ctrl+shift+p 输入 set syntax 可立即手动指定语法,菜单无选项则需检查 ignored_packages 并重载语法定义。

新建文件默认是 Plain Text,不是 Bug,是 Sublime 的设计逻辑——它不会自动猜测语言,没后缀、没内容特征,就直接 fallback 到无语法解析状态,所有文字显示为默认前景色(常是灰色或浅白)。
右下角显示 Plain Text 就是根源
这是最明确的信号,也是最快修复入口。别查插件、别换主题,先点右下角那个 Plain Text:
- 点击后从菜单选你要的语言,比如
JavaScript、Python、Markdown - 若菜单里压根没有目标项,说明对应语法包没启用或被禁用(检查
ignored_packages) - 快捷方式更稳:按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Set Syntax: JavaScript回车 - 选完立刻重绘,无需保存、无需重启
新建文件每次都是 Plain Text?得配 extensions 映射
手动切一次只管当前 tab;要让所有新建的 .env、.toml、.sv 等文件一打开就带高亮,必须在用户设置里声明扩展名绑定:
- 打开
Preferences → Settings – User - 加入
"extensions": ["env", "toml", "sv"](注意:不加点号,.env.local写成"env.local") - 该设置只影响“无内容的新建文件”和“未识别后缀的文件”,对已有内容但无后缀的文件也生效
- 改完不用重启,但需确保当前没有
ignored_packages拦截了对应语法包
语法包装了但菜单不显示?检查 ignored_packages 和重载
很多人在装 Vue 或 TypeScript 插件时,顺手把 "ignored_packages": ["Vue Component", "TypeScript"] 加进用户设置,结果连基础语法都消失了:
-
ignored_packages是大小写敏感的:"Vue Component"≠"vue",多一个空格或括号都会失效 - 删掉不该禁的项后,必须执行
Ctrl+Shift+P → Reload Syntax Definitions,重启 Sublime 不顶用 - 如果连
JSON、Python都不见了,基本就是ignored_packages误禁了内置包 - 不确定是否禁用了什么?临时清空该字段再重载试试
高亮还是灰?用 Inspect Scope 验证真实 scope 链
颜色不对或部分关键词没色,往往不是语法没加载,而是当前 Color Scheme 没定义对应 scope:
- 光标停在
function或import上,按Ctrl+Shift+P输入Inspect Scope - 看输出类似
source.js keyword.control.js—— 前半段是语法作用域,后半段是具体 token 类型 - 打开当前主题文件(
Preferences → Color Scheme),搜索keyword.control.js,没匹配到就回落成默认灰 - 临时验证:切换到
Monokai或Adaptive,若恢复,问题就在你正在用的主题过时或 scope 覆盖不全
真正卡住人的地方,从来不是“怎么开高亮”,而是搞不清 Sublime 的识别链:新建文件 → 默认 Plain Text → 手动指定或 extensions 匹配 → 语法包加载 → scope 输出 → 主题 color_scheme 匹配。漏掉任意一环,颜色就断了。











