<p>要配置vscode中的erlang开发环境并搭建分布式系统开发环境,需按以下步骤操作:1. 安装erlang/otp,推荐使用asdf管理多版本;2. 在vscode中安装pguyot维护的“erlang”扩展,提供语法高亮、智能感知和调试功能;3. 在settings.json中设置"erlang.erlpath"确保扩展能找到erlang运行时;4. 利用vscode集成终端启动多个带节点名和cookie的erlang节点,实现本地分布式测试;5. 使用“remote - ssh”扩展连接远程服务器进行真实环境开发;6. 推荐使用dev containers功能,通过devcontainer.json和dockerfile定义包含erlang环境的容器,实现隔离且一致的开发环境;7. 在.vscode/tasks.json中配置rebar3任务,如编译、启动shell和运行测试,提升效率;8. 使用vscode内置git支持进行代码管理,结合多根工作区管理分布式系统的多个代码库。该方案完整支持erlang本地与远程分布式开发,确保环境一致性与高效协作。</p>

VSCode作为一款轻量但功能强大的代码编辑器,确实能很好地支持Erlang的开发,甚至能为分布式系统的搭建提供一个相当舒适的环境。核心在于几个关键的扩展和一些巧妙的配置,它能让你在本地模拟出复杂的分布式场景,或者直接连接到远程服务器进行开发和调试。
要在VSCode中配置Erlang开发环境并搭建分布式系统的开发环境,你需要做几件事。首先,确保你的系统上已经安装了Erlang/OTP。这通常是第一步,你可以从Erlang官网下载预编译包,或者通过包管理器(如macOS上的Homebrew,Linux上的apt/yum)安装。我个人比较喜欢用
asdf
安装好Erlang后,打开VSCode,我们需要安装核心的Erlang扩展。在扩展市场搜索并安装由
pguyot
对于分布式系统的开发,VSCode的优势在于其强大的终端集成和远程开发能力。你可以在VSCode中同时打开多个终端窗口,每个窗口运行一个Erlang节点,通过节点名和cookie进行通信。更进一步,利用VSCode的“Remote - SSH”扩展,你可以直接连接到远程服务器,在服务器上进行Erlang开发,这对于测试真实分布式环境非常有用。
谈到Erlang在VSCode里的开发,
Erlang
rebar.config
mix.exs
不过,这里面也有些小坑。最常见的问题就是Erlang运行时路径没设置对。有时候你安装了Erlang,但VSCode里的扩展可能找不到
erl
settings.json
"erlang.erlPath": "/usr/local/bin/erl"
rebar3
另外,我还喜欢搭配一些通用的VSCode扩展,比如
EditorConfig
GitLens
搭建Erlang分布式开发环境,我个人觉得VSCode的远程开发和容器化能力是真正的亮点。
最直接的方式,你可以在VSCode里打开多个集成终端。Erlang的分布式是基于节点名和cookie的,所以你可以在每个终端里启动一个Erlang节点,比如:
erl -sname node1@127.0.0.1 -setcookie my_secret_cookie
另一个终端:
erl -sname node2@127.0.0.1 -setcookie my_secret_cookie
然后在一个节点里尝试连接另一个:
(node1@127.0.0.1)1> net_adm:ping(node2@127.0.0.1). pong
这种方式简单直接,适合本地快速测试。
但如果项目复杂,或者需要模拟更真实的部署环境,我强烈推荐使用VSCode的Dev Containers(开发容器)功能。这玩意儿简直是神器。你可以定义一个
devcontainer.json
举个例子,你的
.devcontainer/devcontainer.json
{
"name": "Erlang Distributed Dev",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"extensions": [
"pguyot.erlang"
],
"forwardPorts": [8080, 8081], // 如果你的分布式服务有HTTP端口
"postCreateCommand": "rebar3 compile",
"remoteUser": "erlanguser"
}对应的
Dockerfile
FROM erlang:26
# Create a non-root user
ARG USERNAME=erlanguser
ARG USER_UID=1000
ARG USER_GID=$USER_UID
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
&& apt-get update \
&& apt-get install -y --no-install-recommends git \
&& rm -rf /var/lib/apt/lists/*
USER $USERNAME
WORKDIR /home/$USERNAME/workspace这样,每次打开项目,VSCode都会在一个干净、预配置好的Erlang环境里启动,并且可以轻松地启动多个容器实例来模拟不同的分布式节点。这对于调试和重现问题非常有帮助,也能保证团队成员开发环境的一致性。
在Erlang开发中,
rebar3
rebar3
rebar3
rebar3 compile
rebar3 shell
rebar3 edoc
我个人习惯的做法是,在VSCode中配置一些“任务”(Tasks),把常用的
rebar3
rebar3 shell
例如,在你的
.vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Compile Erlang",
"type": "shell",
"command": "rebar3 compile",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always"
},
"problemMatcher": []
},
{
"label": "Start Erlang Shell",
"type": "shell",
"command": "rebar3 shell",
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
},
{
"label": "Run Erlang Tests",
"type": "shell",
"command": "rebar3 eunit",
"presentation": {
"reveal": "always"
},
"problemMatcher": []
}
]
}这样,你就可以通过“终端”->“运行任务...”来选择并执行这些预定义的
rebar3
至于代码管理,VSCode内置的Git支持已经非常强大,对于Erlang项目来说,这和任何其他语言的项目一样。你可以方便地进行版本控制、分支管理、提交、拉取和推送。对于大型的分布式系统,如果你的服务是分散在多个Git仓库中的,VSCode的“多根工作区”(Multi-root Workspaces)功能就能派上用场了。你可以把多个相关的项目文件夹添加到同一个VSCode工作区中,这样就能在一个窗口里管理和浏览所有相关的代码库,这对于理解整个分布式系统的架构和进行跨服务调试非常方便。
以上就是VSCode如何配置Erlang开发环境 VSCode搭建分布式系统的开发环境的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号