必须重启Sublime Text并手动执行“Open all with current extension as…→EJS”生成{"extensions": ["ejs"]}配置,否则.ejs文件仅显示HTML或白底黑字;该操作在Packages/User/下创建EJS.sublime-settings文件实现永久高亮。

装了插件但 .ejs 文件还是白底黑字或显示为 HTML,不是插件没装对,而是语法没绑定到后缀——90% 的人卡在这一步。
为什么 EJS Syntax Highlighting 安装后不生效
插件只提供 EJS.sublime-syntax 语法定义,不自动注册 .ejs 后缀。Sublime Text 3/4 必须重启才能把新语法加载进 View → Syntax 菜单;不重启,右下角根本不会出现 EJS 选项。
- 常见错误现象:
index.ejs右下角始终显示HTML,和没有独立颜色(比如橙色或绿色) - macOS 用户若通过 Dock 启动 Sublime,PATH 缺失可能导致
Package Control列表空白,插件实际未安装成功 - 如果之前改过
Packages/HTML/HTML.sublime-settings或User/HTML.sublime-settings,可能覆盖默认行为,导致 EJS 无法接管
如何让所有 .ejs 文件默认用 EJS 语法
手动点右下角选 EJS 只影响当前文件。永久绑定靠的是生成 EJS.sublime-settings,路径和内容都必须精准。
- 先打开一个
.ejs文件,确认右下角能点出EJS(说明插件已加载) - 点击右下角语言名 →
Open all with current extension as…→ 再选EJS - 该操作会在
Packages/User/下生成EJS.sublime-settings,内容必须是:{"extensions": ["ejs"]} -
"extensions"的值必须是数组,不能写成"ejs"(字符串)或[".ejs"](带点号) - 验证方式:新建文件 → 输入
<h1>OK</h1>→ 保存为test.ejs→ 看是否有独立颜色
哪些 EJS 插件容易踩坑
冲突比失效更难排查。多个 EJS 相关包共存时,语法 scope 会被覆盖,导致高亮错乱或部分标签失色。
立即学习“前端免费学习笔记(深入)”;
- 禁用旧包:
Sublime-EJS(多年未更新)、ejst、sublime-ejs(易覆盖 scope) - 别手动下载
.sublime-package丢进Packages/—— 缺少 Package Control 加载流程,语法注册常失败 - 如果用了
SublimeLSP或自定义构建系统,检查是否把.ejs映射成了javascript语法(会干扰模板标签识别) - 极少数主题不支持
source.ejsscope(比如某些精简主题),换回Default或Monokai主题测试是否恢复
真正容易被忽略的是:一旦你曾手动点过右下角并选过 HTML,Sublime 就会把这个选择“锁死”在当前视图里——哪怕后来配好了 EJS.sublime-settings,它也坚持用旧的 HTML。此时需关闭文件再重新打开,或重启 Sublime。


















