右下角未显示“elixir”导致全部功能失效,根本原因是语法定义未加载;需确认elixirsyntax插件存在、语法路径正确、sublime text≥4142,并手动部署elixir-ls二进制。

右下角没显示“Elixir”,后面所有功能都白配——高亮失效、LSP不启动、构建报错,全卡在这一步。
右下角显示 Plain Text?语法包根本没生效
打开 .ex 或 .exs 文件,右下角显示 Plain Text 或 HTML,说明 Sublime 根本没加载 Elixir 语法定义。这不是插件装少了,而是路径或注册失败。
- 点击右下角语法名 → 从弹出菜单选
Elixir;若列表里没有,说明Packages/Elixir/Syntaxes/Elixir.sublime-syntax文件不存在 - 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)→ 输入Set Syntax: Elixir,前提是已安装 Elixir 插件且路径正确 - 用
Preferences → Browse Packages…进入目录,确认Elixir/文件夹存在,且含Syntaxes/Elixir.sublime-syntax - 别装
Phoenix-Sublime试图“替代” Elixir 插件——它不提供基础.ex支持,还可能把.ex错误识别为Elixir (EEx)
Sublime Text 版本低于 4142?LSP 启动必失败
Sublime Text 4(build ≥ 4142)是运行 SublimeLSP + elixir-ls 的硬性门槛。旧版对项目根识别、进程启动、文档链接支持极弱,elixir-ls 进程常启动即退出,日志只显示 client stopped unexpectedly。
- 菜单栏 →
Help → About Sublime Text,确认 build 号 ≥ 4142;如果是 4126 或更早,先升级,别折腾配置 - 低版本下即使填对
command路径,LSP-elixir设置也大概率灰掉,状态栏不显示 LSP 图标 - 旧版
SublimeLSP对mix.exs位置推断有硬伤,会把项目根设错,导致依赖无法加载、跳转全部失效
elixir-ls 不是插件,是必须手动部署的二进制
elixir-ls 是独立语言服务器程序,不是 Sublime 插件。装完 SublimeLSP 和 ElixirSyntax 就以为齐活了,结果右键没有 Go to Definition,问题就出在这儿。
- 推荐方式(需
Elixir ≥ 1.12):mix archive.install github elixir-lsp/elixir-ls,成功后终端运行language_server.sh --version(macOS/Linux)或language_server.bat --version(Windows)应输出类似ElixirLS v0.116.0 - 手动下载:去 GitHub Releases 下最新
elixir-ls-*.zip,解压后记下release/language_server.sh(或.bat)的绝对路径 - 验证是否可用:在终端直接运行该命令,看到
Starting language server即表示可执行;若报command not found,说明没加到系统PATH,LSP配置中就得写全路径
LSP 配置中 syntaxes 路径必须与实际一致
打开 Preferences → Package Settings → LSP → Settings,右侧用户设置中添加 clients 块。关键不是写对 command,而是 scopes 和 syntaxes 必须和你当前文件实际激活的语法一致。
- 确保已安装
ElixirSyntax插件(不是旧版Elixir包),否则右下角显示Plain Text,LSP 根本不会触发 - 检查当前文件语法:按
Ctrl+Alt+Shift+P(Windows/Linux)或Cmd+Alt+Shift+P(macOS),看输出是不是source.elixir;如果不是,手动设为View → Syntax → Elixir → Elixir - 常见
syntaxes路径写法(注意路径必须和你本地插件安装位置完全一致):"Packages/ElixirSyntax/Elixir.sublime-syntax"或"Packages/Elixir/Syntaxes/Elixir.sublime-syntax"
最容易被忽略的是:syntaxes 数组里写的路径,必须和你通过 Browse Packages… 真实看到的文件路径一字不差——多一个空格、少一级目录、大小写错误,都会让 LSP 完全静默。别信网上抄来的配置,先 ls -R 或资源管理器里确认真实路径。











