sublime怎么配置Erlang开发环境_Sublime运行Erlang【环境搭建】

必须先安装erlang运行时(含erlc/erl),再安装sublime erlang插件并手动配置erlang.sublime-build和rebar3.sublime-build构建系统,最后可选配erlang_ls+sublimelsp实现跳转调试。

sublime怎么配置Erlang开发环境_Sublime运行Erlang【环境搭建】

安装 Erlang 运行时和编译器

Sublime Text 本身不带 Erlang 支持,必须先在系统层面装好 erlang(含 erlcerl),否则后续所有构建、语法高亮、跳转都无从谈起。

验证是否装好:终端运行 erl -versionwhich erlc。Windows 用户注意把 Erlang 的 bin/ 目录加进系统 PATH,否则 Sublime 构建系统找不到命令。

  • macOS 推荐用 brew install erlang
  • Ubuntu/Debian:用 apt install erlang-dev erlang-tools(别只装 erlang,缺 rebar3 和调试支持)
  • Windows 下建议下载官方二进制包(OTP 25+),避免使用旧版 Chocolatey 源里滞后的版本

安装 Sublime 的 Erlang 插件(Syntax + Build System)

官方 Package Control 里搜 “Erlang” 即可,但要注意:目前最稳定的是 Erlang 插件(作者是 erlang-ide),不是同名的另一个已停更的旧插件。

装完后,.erl.hrl 文件会自动启用语法高亮;但默认没有构建系统——你得手动配一个,否则 Ctrl+B 无效。

  • 打开 Tools → Build System → New Build System…
  • 贴入以下内容并保存为 Erlang.sublime-build
 {   "cmd": ["erlc", "-o", "${file_path}", "${file}"],   "file_regex": "^(.*):([0-9]+):([0-9]+):.*$",   "working_dir": "${file_path}",   "selector": "source.erlang" } 

关键点:"file_regex" 必须匹配 Erlang 编译错误格式(如 foo.erl:12:5: syntax error before: '.'),否则跳转不到报错行。

配置 rebar3 支持(模块管理 & 项目构建)

erlc 只能编译单文件,真实项目基本都用 rebar3。Sublime 不自带 rebar3 集成,需手动扩展构建系统。

如果你的项目根目录有 rebar.config,就该优先用 rebar3 compile 而不是裸 erlc

  • 新建另一个构建系统 Rebar3.sublime-build
 {   "cmd": ["rebar3", "compile"],   "working_dir": "${project_path}",   "file_regex": "^(.*):([0-9]+):([0-9]+):.*$",   "selector": "source.erlang" } 

注意:${project_path} 要求你通过 Project → Save Project As… 显式保存项目,否则为空;没项目文件时构建会失败。

rebar3 输出的错误行号格式和 erlc 一致,所以复用同一 file_regex 即可,不用改。

调试与跳转功能怎么补全?

Sublime 原生不支持 Erlang 的符号跳转(比如 Ctrl+Click 进函数定义)、也不支持断点调试。这些得靠外部工具配合,不能指望插件一键搞定。

可行路径只有两条:

  • erlang_ls(Language Server) + SublimeLSP 插件:这是目前唯一接近 VS Code 体验的方式,但需要额外装 erlang_ls(用 rebar3 编译)、再配 LSP 设置,且对 OTP 版本敏感(OTP 24+ 更稳)
  • 放弃跳转,专注编辑+构建:多数人实际只需要语法高亮 + 快速编译 + 错误定位,用前两步已足够推进开发

别试“Erlang IDE”类老插件——它们依赖早已废弃的 Erlang Emacs mode 协议,现在连 OTP 22 都无法握手。