当前位置: 首页
编程语言
Sublime如何配置Erlang环境?Sublime编写Erlang脚本高亮设置

Sublime如何配置Erlang环境?Sublime编写Erlang脚本高亮设置

热心网友 时间:2026-05-04
转载

Sublime如何配置Erlang环境?Sublime编写Erlang脚本高亮设置

Sublime如何配置Erlang环境?Sublime编写Erlang脚本高亮设置

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

开门见山地说,Sublime Text本身并不运行Erlang,也没有内置的Erlang支持。所以,我们常说的“配置环境”,本质上就是把三件事理顺:让.erl文件获得正确的语法高亮、让Ctrl+B快捷键能顺利调用erlc进行编译、以及最终能在终端里用erl加载测试。这三步环环相扣,顺序不能乱,缺了哪一环都玩不转。

怎么确认 erlc 和 erl 已就位?

这是所有后续操作的地基。必须明白,Sublime的构建系统本质上是在执行shell命令。如果连你的终端都找不到erlcerl,那Sublime肯定也调不动它们。

  • 首先,打开终端,运行erlc -verl -version。如果一切正常,你应该能看到类似Erlang/OTP 26这样的版本输出。
  • 对于macOS用户,通过brew install erlang安装通常会自动配置好PATH。而Windows用户则需要留意,如果在安装时没有勾选“Add to PATH”,就必须手动将类似C:Program Fileserl-25.3in的路径添加到系统环境变量中。
  • 使用asdf等版本管理工具的Linux用户,务必确保已设置asdf global erlang ref,并在终端中用which erlc命令验证路径。
  • 千万别跳过这一步直接去配置Sublime的构建系统。很多后续遇到的“没反应”问题,根源往往就在这里。

为什么装了插件还是没语法高亮?

原因通常是装错了插件,或者语法映射没有正确激活。Sublime Text默认并不认识.erl这个后缀,必须依靠插件来补全支持。但社区里名字带“Erlang”的插件有好几个,只有官方维护的那款(作者是erlang-editors)才能稳定支持OTP 24+的新语法特性,比如-spec fun/0

  • 按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),调出命令面板,输入Package Control: Install Package
  • 搜索Erlang,认准GitHub地址为https://github.com/erlang-editors/sublime-erlang的那个进行安装。
  • 安装完成后,打开一个.erl文件,注意查看编辑器右下角,应该显示为Erlang。如果仍然是Plain Text,可以右键点击文件,选择Set Syntax → Erlang → Erlang手动切换一次,之后Sublime就会自动识别了。
  • 如果不慎安装了错误的插件(例如已经停止更新的Erlang Language Support),可能会导致保存时误删空行,或者-spec等语法解析失败。

Build System 怎么写才不报错?

Sublime没有预设的Erlang构建系统,所以我们必须手动新建一个。这里的关键不在于“能不能编译”,而在于编译结果是否生成在正确的位置、错误信息能否准确定位到行号、以及模块依赖关系是否能够被正确解析。

  • 从菜单栏进入:Tools → Build System → New Build System…
  • 将以下配置内容粘贴进去,并保存为Erlang.sublime-build(文件会自动保存在Packages/User/目录下):
{
  "cmd": ["erlc", "$file"],
  "file_regex": "^(.+):([0-9]+):([0-9]+):.*$",
  "working_dir": "$file_path",
  "selector": "source.erlang"
}
  • 配置说明:$file代表当前文件的完整路径(例如/home/user/proj/test.erl),而$file_path则是其所在目录(/home/user/proj)。必须设置working_dir,否则erlc编译器可能找不到通过-include引入的.hrl头文件,或者把生成的.beam文件输出到错误的地方。
  • Windows用户请注意:如果你的erlc.exe位于带空格的路径下(比如C:Program Fileserl-25.3in),建议将其复制到一个没有空格的路径(例如D:erlanginerlc.exe),然后将配置中的"cmd"项相应地修改为["D:\erlang\bin\erlc.exe", "$file"],这样可以避免很多潜在的路径解析问题。
  • 一个小技巧:尽量使用cmd数组,而不是shell_cmd。因为在macOS或Linux的GUI环境下,shell_cmd有时无法正确继承shell中的PATH环境变量,直接使用cmd数组通常更可靠。

为什么 Ctrl+B 编译完却没法在 Sublime 里运行?

这其实是一个常见的误解。Sublime Text是编辑器,不是IDE,它没有内置Erlang运行时。所谓的“运行”,实际上是两个独立的步骤:先用erlc编译出.beam字节码文件,再用erl虚拟机加载执行。第二步必须在终端里手动完成。一些插件封装的“一键运行”功能,往往在处理路径、cookie或应用启动顺序时出现问题,反而会增加调试的复杂度。

  • 在Sublime中按Ctrl+B编译成功后,打开你的系统终端。
  • 使用cd命令切换到你的源码目录(也就是.erl文件所在的目录)。
  • 运行erl -pa .启动Erlang shell。-pa .这个参数非常重要,它告诉Erlang虚拟机在当前目录下寻找.beam文件。
  • 在Erlang shell中,执行c(module_name).(注意末尾的点号),如果返回{ok, module_name},就说明模块加载成功了。
  • 接下来,你就可以像在生产环境中一样调用函数了:module_name:function().
  • 如果你的模块依赖其他.beam文件,确保这些文件也在-pa参数指定的路径下。不要指望编辑器插件能自动处理复杂的多级目录结构,比如src/_build/

对于使用rebar3管理的项目,情况也是类似的:纯erlc的构建方式只适用于单文件测试。真实的并发系统(包含gen_serversupervisor等OTP行为)必须使用rebar3 compile来编译,这通常需要额外编写shell或batch脚本来调用,Sublime的构建系统本身并不感知rebar.config的配置。

来源:https://www.php.cn/faq/2343984.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Linux下C++如何处理多线程同步

Linux下C++如何处理多线程同步

Linux下C++多线程同步:从互斥锁到屏障的实战指南 在Linux平台上用C++搞多线程开发,线程同步是个绕不开的核心议题。处理不好,数据竞争、死锁这些“坑”随时可能出现。那么,有哪些趁手的同步工具可供选择呢?它们的典型用法又是怎样的? 下面,我们就来梳理几种C++标准库中常用的线程同步机制,并配

时间:2026-05-04 22:48
C++在Linux上如何进行文件操作

C++在Linux上如何进行文件操作

在Linux上使用C++进行文件操作 说到在Linux环境下用C++处理文件,这个标准库头文件绝对是你的首选工具箱。它封装了一套直观的输入输出流接口,让文件读写变得像控制台输入输出一样顺手。下面,咱们就通过几个典型的场景,来看看它的基本用法。 1 打开文件 操作文件的第一步,自然是打开它。这里用s

时间:2026-05-04 22:48
Linux C++如何提高代码执行效率

Linux C++如何提高代码执行效率

在Linux环境下提升C++代码执行效率:一份实战指南 在Linux平台上用C++开发高性能应用,效率是绕不开的核心议题。代码反赌不快,往往直接决定了系统的吞吐能力和响应速度。那么,如何才能让C++程序在Linux环境下“火力全开”呢?这需要我们从算法选择、代码编写、编译器调优,一直到系统资源管理,

时间:2026-05-04 22:47
C++ Linux系统中怎样调试程序

C++ Linux系统中怎样调试程序

在Linux系统中,有多种方法可以用来调试C++程序 对于在Linux环境下进行C++开发的工程师来说,调试是绕不开的一环。面对复杂的逻辑或隐秘的Bug,手头没有几件趁手的工具可不行。好在Linux生态提供了丰富且强大的调试选项,从经典的命令行工具到现代的集成环境,再到专门的内存和性能分析器,足以应

时间:2026-05-04 22:47
Debian系统下Go语言打包有哪些注意事项

Debian系统下Go语言打包有哪些注意事项

在Debian系统下使用Go语言进行打包时,需要注意以下几个方面 将Go应用打包部署到Debian系统,看似是常规操作,但其中有不少细节值得推敲。处理得当,部署过程行云流水;忽略某些环节,则可能遇到意想不到的麻烦。下面就来梳理一下整个流程中的关键点。 1 环境准备 万事开头难,打好基础是关键。 安

时间:2026-05-04 22:47
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程