ElixirLS故障排除清单:8个常见Elixir语言服务器问题快速修复 📅 发布时间:2026/8/22 13:20:41 👁 浏览次数: ElixirLS故障排除清单8个常见Elixir语言服务器问题快速修复【免费下载链接】vscode-elixir-lsElixir language support and debugger for VS Code, powered by ElixirLS.项目地址: https://gitcode.com/gh_mirrors/vsc/vscode-elixir-lsElixirLS 是 VS Code 中功能最强的 Elixir 语言服务器扩展由 ElixirLS 引擎驱动提供代码补全、调试器、Dialyzer 静态分析和测试管理等能力。但新手常会遇到语言服务器启动失败没有补全Dialyzer 卡住等 ElixirLS 故障排除难题。本文为你整理了一份8 个常见 Elixir 语言服务器问题的快速修复清单按顺序排查5 分钟内解决 90% 的 ElixirLS 配置问题。一、排查前先看这里ElixirLS 的架构理解结构有助于快速定位问题。该扩展由两部分组成VS Code 扩展TypeScript/Node.js位于src/负责 IDE 集成并拉起 ElixirLS 进程ElixirLS 引擎Elixir位于elixir-ls/Git 子模块实现语言服务器协议LSP与调试适配器协议DAP通信走 stdio JSON-RPC。所以扩展能装但语言服务器起不来几乎总是环境或启动参数问题而不是扩展本身损坏。二、问题 1Elixir 语言服务器完全启动失败症状打开.ex文件后右下角状态栏一直转圈或显示未检测到 ElixirLS。快速修复打开命令面板Ctrl/Cmd Shift P输入elixir确认有 ElixirLS: ... 开头的命令在终端执行elixir --version确认能同时打印 Elixir 和 Erlang/OTP 版本号确认hex与git已安装mix help hexElixirLS 依赖系统PATH上的elixir和mix。如果你用 asdf、mise 等版本管理器注意 VS Code 启动时的环境必须能解析到 shim改完环境后请完全退出并重启 VS Code。三、问题 2Erlang 安装不完整最隐蔽的坑症状刚打开 Elixir 文件就报错日志里出现** (EXIT) no process: the process is not alive or theres no process currently associated with the given name快速修复这是典型的只装了 Elixir、没装完整 Erlang/OTP问题。Debian/Ubuntu使用 Erlang Solutions 源sudo apt-get install esl-erlangFedorasudo dnf install erlang验证方法elixir --version输出中必须包含Erlang/OTP一行。四、问题 3网络受限导致依赖拉取失败症状日志提示访问hex.pm或github.com超时、TLS 校验失败。快速修复配置 HTTPS 代理HTTPS_PROXY环境变量让 VS Code 启动环境生效如果你的网络环境做 TLS 中间人检查设置环境变量HEX_UNSAFE_HTTPS1可开启elixirLS.fetchDeps让编译时自动拉取依赖五、问题 4Umbrella / monorepo 项目识别不到症状多应用项目里只有部分文件夹有补全或语言服务器提示找不到mix.exs。快速修复ElixirLS 默认认为mix.exs在工作区根目录。对 umbrella 项目请调整设置elixirLS.projectDir指向包含mix.exs的子目录elixirLS.useCurrentRootFolderAsProjectDir按工作区根文件夹识别项目支持多根工作区这些设置是resource 级别的可以在每个工作区文件夹的.vscode/settings.json里单独覆盖。相关实现可参考 project.ts 与 languageClientManager.ts。六、问题 5补全、诊断时好时坏需要重启 ElixirLS症状编译状态与真实代码不一致、诊断突然消失。快速修复按从轻到重排序命令面板执行ElixirLS: Restart实现见 restart.ts执行ElixirLS: Mix Clean见 mixClean.ts清理后重新编译清理Mix.install缓存目录在iex中用Path.join(Mix.Utils.mix_cache(), installs)查询位置终极手段关闭编辑器后删除整个.elixir_ls目录再重启 —— 注意这会触发 Dialyzer 全量重建七、问题 6Dialyzer 首次分析卡住/极慢症状打开项目后长时间无类型提示状态栏显示 Dialyzer 在构建。说明与修复首次运行需要为项目和依赖构建 PLT耗时数分钟属于正常现象之后是增量的嫌慢可临时关闭elixirLS.dialyzerEnabled设为false想减少警告噪音用elixirLS.dialyzerWarnOpts关闭个别警告类别需要spec建议时保持elixirLS.suggestSpecs开启配置项说明详见 walkthroughs/dialyzer.md。八、问题 7Test Explorer 里看不到测试症状Testing 视图为空测试树没有内容。快速修复确认当前文件所在工作区包含mix.exs且测试文件命名为test/**/*_test.exs打开Testing视图烧瓶图标等待 ExUnit 发现完成喜欢行内按钮开启elixirLS.enableTestLenses每个测试上方会出现 Run test 代码透镜测试与运行器逻辑见 testController.ts 和 runTest.ts指南见 walkthroughs/run-tests.md。九、问题 8装了其他 Elixir 扩展产生冲突症状格式化/补全互相打架或启动时弹出红色警告Warning: xxx is not compatible with ElixirLS。快速修复卸载冲突扩展。ElixirLS 会主动检测这两个不兼容扩展mjmcloug.vscode-elixirElixir Sense 旧扩展sammkj.vscode-elixir-formatterElixirLS 已内置格式化检测逻辑在 conflictingExtensions.ts。十、还是不行按这个顺序深挖日志看输出日志View Output下拉框选择ElixirLS这是定位问题的第一手材料看开发者工具Help Toggle Developer Tools查看 Console 中相关报错组合拳先restart再mixClean最后删.elixir_ls目录重启检查配置按需设置elixirLS.mixEnv默认test、elixirLS.mixTarget默认host、elixirLS.envVariables更多排障细节可参考 walkthroughs/install-elixir.md、walkthroughs/configure.md 与 README.md 中的 Troubleshooting 章节。结语ElixirLS 故障排除的核心思路其实很简单先验证 Elixir/Erlang 环境再看网络再查项目路径设置最后才动扩展本身。把这份 8 项清单收藏起来下次遇到 Elixir 语言服务器罢工照着顺序排查即可快速修复。【免费下载链接】vscode-elixir-lsElixir language support and debugger for VS Code, powered by ElixirLS.项目地址: https://gitcode.com/gh_mirrors/vsc/vscode-elixir-ls创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考