应安装官方Erlang插件(erlang-editors维护),手动配置erlc路径,rebar3项目需自定义构建脚本,调试依赖终端+observer而非IDE断点。

安装Erlang语言支持插件要选 Erlang,不是 Erlang Language Support
Sublime Text 默认不带 Erlang 语法高亮和构建系统,得靠插件补全。社区里名字带“Erlang”的插件有好几个,但只有官方维护的 Erlang 插件(作者是 erlang-editors)能正确识别 .erl、.hrl 文件,提供基础语法高亮、注释快捷键(Ctrl+/)、括号匹配和简单代码折叠。
容易踩的坑是装了同名但已停更的 Erlang Language Support——它不支持 OTP 24+ 的新语法(比如 -spec 中的 fun/0 类型写法),还会在保存时误删空行。确认方法:打开 Package Control: List Packages,看插件详情页的 GitHub 地址是否指向 https://github.com/erlang-editors/sublime-erlang。
构建系统必须手动配置 erlc 路径,Windows 和 macOS 处理方式不同
Sublime 的 Build System 默认找不到 erlc,即使你已通过 asdf、kerl 或官网安装包装好了 Erlang。它只认 PATH 环境变量里的命令,而 GUI 应用(如 Sublime)在 macOS/Linux 上往往继承不到 shell 配置的 PATH,Windows 则常因路径含空格或中文出错。
- macOS:在终端运行
which erlc,得到类似/Users/xxx/.asdf/shims/erlc的路径;然后在 Sublime 中新建Tools → Build System → New Build System,填入:
{
"cmd": ["<code>/Users/xxx/.asdf/shims/erlc</code>", "$file"],
"file_regex": "^(.*):([0-9]+):([0-9]+):.*$",
"selector": "source.erlang"
}
- Windows:避免用
C:\Program Files\erl...这类带空格路径,改用短路径(如C:\Progra~1\erl...)或复制erlc.exe到无空格目录(如D:\erlang\bin\erlc.exe),再在构建配置中写死该路径
rebar3 项目无法直接编译?得用自定义构建命令调用 rebar3 compile
纯 erlc 构建只适用于单文件测试,真实 Erlang 并发系统(比如用 gen_server、supervisor 的项目)依赖 rebar3 管理依赖、编译多模块、生成 boot 文件。Sublime 默认构建系统不支持项目级操作。
解决办法是写一个 Shell/Batch 构建脚本,再让 Sublime 调用它:
- Linux/macOS:新建文件
build_rebar.sh,内容为cd $(dirname "$1") && rebar3 compile,然后在 Sublime 构建系统中设"cmd": ["bash", "/path/to/build_rebar.sh", "$file"] - Windows:用
.bat替代,注意%~dp1获取当前文件所在目录,再执行rebar3.cmd compile
关键点:不要指望插件自动识别 rebar.config —— 它只是个文本高亮工具,没项目感知能力。
调试和热重载得靠外部工具,Sublime 本身不支持 Erlang 调试协议
别浪费时间找“Sublime Erlang debugger”插件,目前没有稳定支持 erlang-debugger 或 rebar3 observer 的集成方案。你写的并发逻辑(比如 spawn、receive 块)出问题,只能靠 io:format/2 打印,或启动 observer:start(). 看进程树和消息队列。
真正省事的做法是把 Sublime 当作高效编辑器,调试交给终端:
- 开两个窗口:左边 Sublime 写代码,右边 iTerm/Terminal 运行
rebar3 shell - 改完保存后,在 shell 里执行
r(module_name).热重载模块,立刻验证行为 - 如果用了
cowboy或gen_statem,观察observer里状态迁移和连接数变化比断点更直观
很多人卡在想让 Sublime 显示“断点红点”或“变量悬浮值”,这在 Erlang 生态里现阶段就是走不通的路。










