VSCode 搭配 ElixirLS、ERB Syntax Highlighting 等插件及合理配置,可高效支持 Elixir 与 Phoenix 开发,涵盖代码补全、模板高亮、任务运行与调试集成。

VSCode 搭配合适插件和配置,完全可以胜任 Elixir 和 Phoenix 的日常开发——轻量、响应快、生态支持好,关键是要装对工具、设对参数。
Elixir 语言支持:elixir-lsp 是核心
过去常用 atom-elixir 或手动配置 erlang_ls,现在推荐直接使用官方维护的 elixir-lsp(通过 ElixirLS 提供)。它支持代码补全、跳转定义、实时类型检查、自动格式化(配合 mix format)和调试集成。
- 在 VSCode 扩展市场搜索并安装 ElixirLS(作者:Jake Beacher)
- 确保系统已安装 Elixir + Erlang,并能在终端中运行
mix --version - 首次打开 Phoenix 项目时,ElixirLS 会自动下载并构建服务器;若卡住,可手动执行
mix elixir_ls.release(需先添加elixir-lsp到mix.exs的deps)
Phoenix 专属增强:模板与路由更顺手
Phoenix 大量使用 EEx 模板(.html.eex / .html.heex)、LiveView(.ex 中的 Live 组件)、以及自动生成的路由/上下文结构。光靠 ElixirLS 不够,还需补充语义支持:
- 安装 ERB Syntax Highlighting(支持
.heex高亮,虽名 ERB,实为通用嵌入式模板语法支持) - 启用 Auto Rename Tag(重命名 HTML 标签时同步更新闭合标签,对 HEEx 编写很实用)
- 在
settings.json中添加文件关联,让 VSCode 正确识别模板后缀:"files.associations": { "*.html.heex": "html", "*.html.eex": "html" }
开发效率加分项:任务与调试配置
不用总切到终端,VSCode 可直接运行 mix 命令、启动 Phoenix 服务器、甚至 attach 调试进程:
- 在项目根目录创建
.vscode/tasks.json,预置常用任务(如mix phx.server、mix test、mix format),启用“问题匹配器”捕获编译错误 - 安装 Debugger for BEAM 插件(支持 Erlang/Elixir 调试),配合
.vscode/launch.json配置启动 Phoenix 应用或测试 - 开启
"elixirLS.trace.server": "verbose"(在设置中)便于排查 LSP 连接异常
小而关键的细节配置
一些默认行为不贴合 Phoenix 习惯,建议微调:
- 关闭自动保存时的格式化冲突:
"editor.formatOnSave": true,但加上"[elixir]": { "editor.formatOnSave": true }确保只对 Elixir 文件生效 - HEEx 模板中避免缩进混乱:设置
"html.suggest.html5": false(禁用 HTML5 内置建议,减少干扰) - Phoenix 日志太长?在终端运行
MIX_ENV=dev iex -S mix phx.server后,用 VSCode 的 “Terminal > Toggle Terminal” 查看,比内建输出更稳定










