ejs插件安装后不生效,因sublime需重启并手动执行“open all with current extension as… → ejs”才能绑定.ejs后缀;语法文件ejs.sublime-syntax不自动注册扩展名,且右下角锁定html时须重置语法或重启。

装了插件但 .ejs 文件还是显示为 HTML 或 Plain Text,不是插件没装对,是语法没绑定到后缀——重启 Sublime 后手动执行一次 Open all with current extension as… → EJS 才算真正生效。
为什么装完 EJS Syntax Highlighting 还不亮
插件只提供语法定义(EJS.sublime-syntax),不自动注册 .ejs 后缀。Sublime Text 3/4 的插件加载机制要求必须重启才能让新语法进入语言菜单;若跳过这步,右下角根本不会出现 EJS 选项。
- 常见错误现象:
index.ejs右下角始终显示HTML,嵌套逻辑(如)无颜色区分 - macOS 用户通过 Dock 启动 Sublime 时,PATH 缺失可能导致 Package Control 列表空白,连插件都搜不到
- 如果之前改过
Packages/HTML/HTML.sublime-settings或User/HTML.sublime-settings,可能覆盖默认行为,导致关联失效
如何让所有 .ejs 文件默认用 EJS 语法
手动切换语法只作用于当前文件。要永久绑定,必须建立扩展名与语法的映射关系——这个操作会生成 Packages/User/EJS.sublime-settings,内容必须是标准 JSON 数组格式。
- 先打开一个
.ejs文件,确认右下角已能选到EJS(说明插件加载成功) - 点击右下角语法名 →
Open all with current extension as…→EJS - 检查生成的
EJS.sublime-settings内容是否为:{"extensions": ["ejs"]},不能写成"extensions": "ejs"(字符串 ≠ 数组) - 不要直接编辑
Packages/HTML/HTML.tmLanguage,升级 Sublime 会被覆盖
Sublime Text 2 用户注意兼容性差异
Sublime Text 2 不支持 .sublime-syntax 格式,只能靠修改 HTML.tmLanguage 文件硬编码扩展名,且没有 Open all with… 菜单项。
- 路径通常是
%APPDATA%\Packages\HTML\HTML.tmLanguage(Windows)或~/Library/Application Support/Sublime Text 2/Packages/HTML/HTML.tmLanguage(macOS) - 在
<array></array>区域内添加一行:<string>ejs</string> - 改完必须重启 Sublime Text 2,否则不生效
- 该方式无法支持 EJS 特有语法(如
转义、注释)的完整高亮,仅基础块识别
最容易被忽略的是:一旦你曾手动点过右下角语法名并选过 HTML,Sublime 就会把这个选择“锁死”在当前视图里——哪怕你后来配好了 EJS.sublime-settings,它也坚持用旧的 HTML。此时需关闭文件再重新打开,或执行 View → Syntax → Reset Syntax 才能松开锁定。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











