You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下VS Code中ElixirLS代码补全失效求助

ElixirLS代码补全无提示问题排查与修复方案

常见排查步骤

  • 检查项目依赖与编译状态
    打开终端进入项目根目录,执行mix deps.get确保依赖全量安装,再运行mix compile --force强制重新编译项目。ElixirLS依赖项目编译后的beam文件提供补全,未编译或编译不完整会直接导致补全失效。
  • 验证ElixirLS工作区配置
    打开VS Code设置(快捷键Ctrl+,),搜索elixirLS,确认:
    • ElixirLS: Enable已勾选
    • 若开启ElixirLS: Dialyzer Enabled,需确保项目已生成dialyzer_plt文件(执行mix dialyzer --plt生成),dialyzer初始化过慢可能阻塞补全功能
  • 确认VS Code语言模式
    打开Elixir文件时,查看右下角语言模式是否为Elixir,若显示纯文本或其他语言,点击切换为Elixir;也可在设置中搜索files.associations,添加"*.ex": "elixir"和"*.exs": "elixir"固定文件关联
  • 重置ElixirLS缓存与状态
    1. 完全关闭VS Code
    2. 删除项目根目录下的.elixir_ls缓存文件夹
    3. 可尝试卸载重装ElixirLS扩展,或删除%USERPROFILE%\.vscode\extensions\elixir-lsp.elixir-ls-1.16.0\server下的临时文件
  • 验证环境版本兼容性
    Erlang/OTP 26与Elixir 1.15.4理论兼容,但有用户反馈ElixirLS 1.16.0在该组合下存在补全异常。可尝试降级ElixirLS到1.15.0版本,或升级Elixir到1.16.x版本匹配扩展版本
  • 查看详细日志定位问题
    打开VS Code输出面板(Ctrl+Shift+U),切换到ElixirLS日志,搜索completion或diagnostic关键词,隐藏的错误(如权限不足、依赖缺失)会在这里显示。比如Windows下项目目录读写权限不足,需调整权限确保ElixirLS可写入缓存文件

其他用户验证有效的解决方案

  • 部分Windows用户关闭Windows Defender实时保护(或添加项目目录到白名单)后解决问题,杀毒软件可能拦截ElixirLS的文件操作
  • 若使用WSL环境,需确保VS Code连接的是WSL工作区,且WSL内的Erlang/Elixir环境配置正确,避免混用Windows本地环境

内容的提问来源于stack exchange,提问作者IvonaK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 11:22:08