sublime怎么配置elixir开发环境_sublime安装elixir-ls插件高亮设置【方案】

8次阅读

能,需 Sublime Text 4(build 4142+)配合 SublimeLSP 插件与手动安装的 elixir-ls 语言服务器,并正确配置绝对路径、语法范围及项目根目录。

sublime 怎么配置 elixir 开发环境_sublime 安装 elixir-ls 插件高亮设置【方案】

Sublime Text 能不能用 Elixir-LSP?得看版本和插件配合

Sublime Text 本身不原生支持 LSP(Language Server Protocol),必须通过第三方插件桥接。目前唯一稳定可用的方案是 SublimeLSP + elixir-ls,但前提是你的 Sublime Text 是 build 4142 或更高版本(即 Sublime Text 4)。低于这个版本的 SublimeLSP 对 Elixir 的项目根识别、任务启动、文档链接等支持极弱,甚至无法加载 elixir-ls 进程。

安装 elixir-ls 服务二进制文件(不是插件)

elixir-ls 是一个独立的服务器程序,不是 Sublime 插件。你必须先在系统中编译或下载它的可执行文件,并确保它能被 SublimeLSP 找到。

  • 推荐方式:用 mix archive.install github elixir-lsp/elixir-ls(需 Elixir ≥ 1.12,且已配置好 MIX_ENV=prod
  • 手动方式:从 GitHub Releases 下载对应平台的 elixir-ls-*.zip解压 后把 release/language_server.shmacOS/Linux)或 language_server.bat(Windows)路径记下来
  • 验证是否可用:
    ./language_server.sh --version

    应输出类似 ElixirLS v0.116.0

配置 SublimeLSP 让它认识 elixir-ls

打开 Preferences → Package Settings → LSP → Settings,在右侧用户设置中添加 elixir 配置块。关键点不是“开启高亮”,而是让 LSP 正确启动并响应:

{"clients": {     "elixir": {       "enabled": true,       "command": [         "/path/to/your/language_server.sh"],       "scopes": ["source.elixir"],       "syntaxes": ["Packages/Elixir/Syntaxes/Elixir.sublime-syntax",         "Packages/Elixir/Syntaxes/Elixir (EEx).sublime-syntax"       ],       "initializationOptions": {"env": {           "MIX_ENV": "test"}       },       "settings": {"elixirLS": {           "dialyzerEnabled": false,           "fetchDeps": true}       }     }   } }
  • command 必须是绝对路径,不能用 ~ 环境变量(Sublime 不展开)
  • 如果用的是 Windows,请把 language_server.bat 加入 command,且路径用正斜杠或双反斜杠
  • syntaxes 必须和你当前安装的 Elixir 语法包路径完全一致;可通过 View → Syntax → Open all with current extension as…… 查看实际路径
  • 首次启动时,elixir-ls 会自动 fetch deps 并构建,耗时可能达 1–3 分钟,不要反复重启 Sublime

高亮失效、跳转失败、没有补全?先检查这三件事

90% 的“没反应”问题其实和 LSP 无关,而是基础链路断了:

  • 确认你打开的是整个 Mix 项目根目录(即含 mix.exs 的文件夹),不是子目录或单个 .ex 文件 —— SublimeLSP 默认只在项目根下激活 elixir 客户端
  • 打开 Tools → Developer → Show Console,输入 view.settings().get("syntax"),返回值必须是上面 syntaxes 列表里的某一项;否则高亮和 LSP 都不会触发
  • 运行 ps aux | grep elixir_ls(macOS/Linux)或任务管理器(Windows),确认 elixir-ls 进程是否真在运行;若没有,说明 command 路径错、权限不足、或 mix 命令不可见(Sublime 的 PATH 和终端不同,建议用完整路径如 /usr/local/bin/mix

真正麻烦的从来不是配参数,而是 Sublime 启动时读不到你的 shell 环境变量,又不报错 —— 这点比 VS Code 或 Vim 隐蔽得多。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-31发表,共计1807字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources