VSCode配置Erlang环境 高并发必备VSCode安装Erlang插件
VSCode配置Erlang环境:高并发开发的必备调试指南

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
想让VSCode的Erlang插件真正跑起来,有个铁律必须记住:erl命令必须在VSCode的内置终端里直接可用。否则,什么代码跳转、智能补全、断点调试,统统都会失灵——这可不是插件本身的问题,而是环境路径压根没接上。
第一步:确认erl和rebar3在VSCode终端里真能跑
很多开发者遇到“跳转定义”按钮灰色、“调试”选项不可点击,第一反应就是重装插件。其实,问题的根源往往更底层:VSCode启动时,根本没有继承到你系统里配置好的PATH环境变量。
怎么验证?打开VSCode的内置终端(快捷键Ctrl+`),直接输入:
which erl which rebar3
如果终端返回空白或者提示command not found,那就坐实了环境没配通。这时候,别急着去折腾插件设置,优先解决环境继承问题。通常有这么几个路子:
- 从终端里手动启动VSCode:在你常用的系统终端里,先
cd到项目目录,然后执行code .命令。这样启动的VSCode会完整继承当前终端会话的PATH。 - 固化系统路径:把
erl和rebar3的可执行文件路径,直接添加到你的shell配置文件里(比如~/.zshrc或~/.bashrc),添加完成后,记得完全退出并重启VSCode。 - Windows用户特别注意:
erl.exe的安装路径里最好不要包含中文或空格。如果你用的是asdf这类版本管理工具,确保在执行asdf global erlang后,运行一下asdf reshim erlang。
第二步:erlang-ls扩展不工作?检查erlang.erlPath和erlang.rebar3Path设置
即便终端里which erl已经能正确输出,erlang-ls语言服务器也可能启动失败。原因在于,这个语言服务器默认并不读取系统的PATH,它依赖的是VSCode设置里的显式配置项。
你需要打开VSCode的设置(Cmd+, 或 Ctrl+,),搜索并准确填写以下两项:
erlang.erlPath:这里需要填入erl可执行文件的绝对路径。例如,macOS/Linux下可能是/usr/local/lib/erlang/bin/erl,Windows下则是C:\Program Files\erl-25.3\bin\erl.exe。erlang.rebar3Path:同样,这里要指向rebar3可执行文件的本体,而不是它的批处理脚本(.bat)或软链接。例如:/home/you/.local/bin/rebar3。
修改完这两项之后,必须重启VSCode,语言服务器才会用新的配置重新拉起。验证是否成功的标志很简单:随便打开一个.erl源文件,观察编辑器右下角的状态栏,如果显示erlang-ls: ready,那就说明配置生效了。
第三步:调试Erlang OTP应用前,先确保application:start/1能在shell里手动跑通
VSCode的调试器,其本质是启动一个附带了调试参数的Erlang节点,然后再附着(attach)上去。如果连最基本的application:start(myapp)在独立shell里都跑不起来,报错{error,{not_started,other_dep}},那调试配置写得再完美也是白搭。
因此,在启动调试之前,强烈建议先手动走通下面这个流程:
- 在项目根目录下,运行
rebar3 shell,这会启动一个加载了项目所有依赖路径的交互式Shell。 - 在Shell中,尝试执行
application:ensure_all_started(myapp).,确保你的应用及其所有依赖都能正常启动,没有缺失。 - 最后,对照项目
launch.json配置文件里的startFun和startArgs字段,检查函数签名是否与实际代码完全一致。有些项目可能使用自定义的启动函数myapp:start/0,而不是标准的application:start/1。
这里有个常见的坑:startArgs是一个字符串形式的Erlang项式,语法必须严格匹配。比如,配置成"[myapp, permanent]",多一个空格、少一个括号,都可能导致整个Erlang节点启动失败。
第四步:并发调试时,node名和cookie必须和erl -name启动参数完全一致
进行分布式或并发调试,核心在于节点间的安全认证。VSCode调试器会尝试连接一个已经存在的Erlang节点,而这个节点必须使用与配置完全相同的-name和-setcookie参数启动。
举个例子,如果你的launch.json里是这样配置的:
"node": "myapp@127.0.0.1", "cookie": "abc123"
那么,你在终端里启动目标节点的命令就必须是:
erl -name myapp@127.0.0.1 -setcookie abc123 -pa _build/default/lib/*/ebin
细节决定成败:漏掉-pa参数会导致模块路径找不到;-name里用localhost,而配置里写的是127.0.0.1,在Erlang看来这就是两个不同的节点,连接自然会失败。
还有一个更隐蔽的问题:某些Linux发行版出于安全考虑,可能会默认禁用epmd(Erlang端口映射守护进程)。当你发现调试器始终无法连接到节点时,不妨先检查一下epmd是否在运行:ps aux | grep epmd。如果没运行,可能需要手动启动或调整系统配置。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
如何在WebStorm中使用内置终端切换不同的Shell?
如何在WebStorm中使用内置终端切换不同的Shell? WebStorm终端为什么默认不加载 zshrc或 bashrc 很多开发者第一次在WebStorm里打开终端都会遇到这个困惑:明明系统终端里配置好的alias、nvm都好好的,怎么到了IDE里就全失效了?命令找不到,环境变量也不对。 其实
VSCode实现分屏开发:多窗口布局与编辑器组快速切换技巧
VSCode实现分屏开发:多窗口布局与编辑器组快速切换技巧 很多开发者以为,VSCode的分屏就是多开几个标签页那么简单。其实不然,它的底层逻辑完全建立在“编辑器组”这个概念之上。如果没搞懂这一点,你会发现很多操作都像在碰运气——比如按了Ctrl+ 没反应,或者拖拽文件时它突然“消失”,甚至关掉一个
Notepad++怎么手动指定某个文件的语法高亮类型
Notepad++ 语法高亮手动指定指南 你是否遇到过这样的场景:在 Notepad++ 里打开一个脚本文件,代码却是一片毫无生气的黑白?别急,这通常不是软件故障,而是编辑器在等你告诉它:“嘿,请用某种特定的语法规则来渲染这份代码。” 毕竟,Notepad++ 本身并不具备自动识别文件类型的能力。
VSCode怎么配置AutoHotkey(AHK)脚本代码的运行和单步调试环境
VSCode怎么配置AutoHotkey(AHK)脚本代码的运行和单步调试环境 想在VS Code里顺畅地调试AutoHotkey v2脚本?这事儿说简单也简单,但有几个关键配置要是没对上,调试器要么罢工,要么断点形同虚设。下面就把几个核心环节和常见坑点捋清楚。 确认 AutoHotkey v2 运
Composer怎么用platform模拟环境_虚拟包设置教程【详解】
Composer的config platform:唯一靠谱的PHP环境模拟方案 开门见山,先说核心结论:在项目层面可控地模拟PHP运行环境,config platform是当前唯一靠谱的途径。它的本质并非改变本地环境,而是“欺骗”Composer的依赖解析器,让它按照你指定的目标环境来计算和安装包。
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

