ElixirLS设置全解析:12个elixirLS.*配置项让你彻底掌控Elixir开发环境
ElixirLS设置全解析12个elixirLS.*配置项让你彻底掌控Elixir开发环境【免费下载链接】vscode-elixir-lsElixir language support and debugger for VS Code, powered by ElixirLS.项目地址: https://gitcode.com/gh_mirrors/vsc/vscode-elixir-lsElixirLS项目名vscode-elixir-ls是 VS Code 中最强大的 Elixir 语言支持扩展基于 ElixirLS 语言服务器提供代码补全、断点调试、ExUnit 测试管理和 Dialyzer 类型检查。默认配置已经开箱即用但如果你遇到「找不到 mix.exs」「编译环境不对」「Dialyzer 警告刷屏」这类问题就需要掌握elixirLS.配置项*。本文带你逐一拆解 12 个核心 ElixirLS 设置帮你彻底掌控 Elixir 开发环境。 12 个 ElixirLS 配置项速览所有配置项都定义在 package.json 的contributes.configuration中可在「设置 → 搜索elixirLS」里快速找到。先看总览表#配置项默认值一句话说明1elixirLS.projectDir空工作区根目录指定 Mix 项目子目录2elixirLS.useCurrentRootFolderAsProjectDirfalse不再向父目录查找 mix.exs3elixirLS.mixEnvtest编译使用的 MIX_ENV4elixirLS.mixTarget空即 host编译使用的 MIX_TARGET5elixirLS.envVariables空编译时注入的额外环境变量6elixirLS.autoBuildtrue保存文件时自动触发编译7elixirLS.fetchDepsfalse编译时自动获取依赖8elixirLS.dialyzerEnabledtrue启用增量 Dialyzer 类型分析9elixirLS.dialyzerWarnOpts[]开关 Dialyzer 警告类别10elixirLS.dialyzerFormatdialyxir_longDialyzer 警告展示格式11elixirLS.suggestSpecstrue内联建议 spec 类型注解12elixirLS.enableTestLensesfalse在测试代码上方显示运行测试镜头 项目定位让 ElixirLS 找到你的 Mix 项目1.elixirLS.projectDirmix.exs 不在根目录怎么办默认情况下ElixirLS 假设mix.exs位于工作区根目录。如果你的项目是Umbrella 应用或monorepomix.exs在子文件夹中就把子目录路径填进去。示例项目可参考 src/test-fixtures/sample_umbrella/mix.exs。2.elixirLS.useCurrentRootFolderAsProjectDir锁定当前目录设为true后ElixirLS 不会向上级目录查找mix.exs。适合当前文件夹就是完整项目的场景避免误识别到外层目录。⚙️ 编译环境Mix 环境与环境变量3.elixirLS.mixEnv默认 test 环境编译ElixirLS 默认以MIX_ENVtest编译代码这样类型检查能覆盖测试代码。如果你的项目dev和test配置差异大例如config/config.exs按环境区分编译选项可以改回dev。4.elixirLS.mixTarget为 Nerves 等项目指定 targetNerves 等嵌入式项目依赖MIX_TARGET拉取不同依赖把目标如rpi3填到这里即可与命令行行为保持一致。5.elixirLS.envVariables编译时注入环境变量以键值对形式在编译时注入额外环境变量例如需要数据库凭据或 API Key 才能编译通过的项目。 构建与依赖管理6.elixirLS.autoBuild保存即编译默认true每次保存代码都会触发 ElixirLS 增量构建。这是补全、跳转和类型检查能实时生效的前提只在排查编译卡顿时才建议临时关闭。7.elixirLS.fetchDeps自动获取依赖默认false即不会自动执行mix deps.get。在 Dev Container 或 CI 中开启它可以省去手动拉取依赖这一步本地开发保持关闭能避免扩展在网络受限环境下卡住。️ Dialyzer 类型检查12 个配置中的重头戏8.elixirLS.dialyzerEnabled一键开关类型分析默认true。ElixirLS 内置增量 Dialyzer首次运行会构建 PLT可能耗时几分钟之后只分析改动的部分。大型项目觉得慢时先关掉再用下面两项精细调优。9.elixirLS.dialyzerWarnOpts只留下你关心的警告这是一个字符串数组可开启或关闭具体警告类别例如no_return、no_contracts、missing_return、error_handling等完整枚举见 package.json。不想看某一类噪音时加上对应的no_xxx项即可。10.elixirLS.dialyzerFormat三种警告展示格式可选dialyzer原始格式、dialyxir_short、dialyxir_long默认。团队如果习惯mix dialyzer --format long的输出默认值正好一致。11.elixirLS.suggestSpecs自动建议 spec 注解默认true依赖 Dialyzer 推断出的成功类型在编辑器里直接给你spec补全建议——写类型注解的捷径。如果提示干扰了代码风格设为false。 测试12 个配置之外的第二利器12.elixirLS.enableTestLenses在编辑器里一键跑测试默认false。开启后每个test上方会出现 Code Lens直接点Run test无需切到 Test Explorer。日常测试管理仍以 VS Code 的Test Explorer为主发现、运行、调试test/**/*_test.exs全部自动完成Code Lens 只是锦上添花。更多细节可看 walkthroughs/run-tests.md。️ 进阶配置按需再了解配置项用途elixirLS.trace.serveroff/messages/verbose排查语言服务器通信问题用elixirLS.stdlibSrcDir指定 Elixir 标准库源码目录支持跳转到标准库定义elixirLS.languageServerOverridePath用自定义的 ElixirLS release 覆盖内置版本elixirLS.autoInsertRequiredAlias补全后自动插入缺失的 alias默认开启elixirLS.signatureAfterComplete确认补全后继续显示函数签名帮助elixirLS.dotFormatter指定自定义.formatter.exs格式化文件elixirLS.mcpEnabled/elixirLS.mcpPort启用内置 MCP 服务器让 AI 助手理解你的 Elixir 代码✅ 配置在哪里写排障小抄全局生效用户设置Ctrl/Cmd ,搜索elixirLS项目级覆盖.vscode/settings.json可随项目提交团队共享所有配置都是resource作用域多根工作区可以为每个文件夹单独设置改完不生效命令面板执行Elixir: Restart language server仍不行就打开查看 → 输出面板选择ElixirLS查看日志官方快速上手指南含安装 Elixir/OTP、打开项目、Dialyzer 步骤位于 walkthroughs/configure.md 与 walkthroughs/dialyzer.md。掌握这 12 个elixirLS.*配置项后ElixirLS 就能完全贴合你的项目结构让 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),仅供参考

相关新闻

最新新闻

日新闻

周新闻

月新闻