必须安装官方Erlang插件(https://github.com/erlang-editors/sublime-erlang),禁用已停更的Erlang Language Support;确保文件编码为UTF-8 without BOM,并通过Ctrl+Alt+Shift+P验证scope含meta.spec.erlang等语法标识。

只装官方 Erlang 插件,别碰 Erlang Language Support
语法高亮失效、-spec 行变灰色、保存时删空行——90% 是因为你装错了插件。社区里叫 “Erlang” 的插件不止一个,但只有 erlang-editors/sublime-erlang 这个仓库维护的插件持续适配 OTP 24+,能正确识别 -spec、-callback、-opaque 等新语法结构。
按 Ctrl+Shift+P(macOS 是 Cmd+Shift+P),输入 Package Control: Install Package,搜索 Erlang,只选 GitHub 地址为 https://github.com/erlang-editors/sublime-erlang 的那个安装。
- 装完后打开任意
.erl文件,右下角必须显示Erlang;若仍是Plain Text,右键 →Set Syntax→Erlang→Erlang手动切一次 - 用
Ctrl+Alt+Shift+P(macOS 是Cmd+Alt+Shift+P)把光标停在-spec行上,看输出 scope:应含meta.spec.erlang;若只有source.erlang,说明插件根本没加载语法定义 - 已停更的
Erlang Language Support会导致-include跳转失败、-record字段不补全,且无法修复
确认文件编码是 UTF-8 without BOM
编码含 BOM 是高亮失效的隐形杀手。Sublime 默认对含 BOM 的 .erl 文件降级处理,-module、-export 等关键字可能不着色,甚至整行变白。
打开文件后,看右下角是否显示 UTF-8;若显示 UTF-8 with BOM 或 Western (Windows 1252),立刻转换:
- 菜单栏 →
File→Save with Encoding→UTF-8 - 或装
ConvertToUTF8插件自动处理非 UTF-8 编码文件 - 新建文件默认编码可在
Preferences → Settings中加一行:"default_encoding": "UTF-8"
检查语法 scope 是否激活
即使插件装对、编码正确,高亮仍可能不生效——常见于 Sublime 启动时插件未完全加载,或语法定义被其他插件覆盖。
验证方式:打开 .erl 文件,按 Ctrl+Alt+Shift+P(macOS Cmd+Alt+Shift+P),把光标放在函数名、-spec、-record 等位置,观察输出:
- 正常应看到类似
meta.function.erlang、meta.spec.erlang、entity.name.function.erlang - 若全是
source.erlang或text.plain,说明语法定义没加载,重启 Sublime 或重装插件 - 检查
Preferences → Package Settings → Erlang → Settings,确认没有误禁用enable_syntax_highlighting
手动触发语法重载(临时救急)
有时插件更新后或切换分支时,语法高亮卡在旧状态,重启也不管用。
可强制重载 Erlang 语法定义:
- 菜单栏 →
Tools→Developer→Reload Syntax Definitions - 或在控制台(
Ctrl+`)执行:sublime.active_window().active_view().settings().set('syntax', 'Packages/Erlang/Erlang.sublime-syntax') - 注意路径大小写:macOS/Linux 区分大小写,
Packages/Erlang/不能写成packages/erlang/
真正麻烦的不是装不上,而是装了却不知道它没生效——scope 检查和编码确认这两步跳过,后面所有配置都白搭。


















