右下角未显示“Elixir”导致高亮、LSP、构建全失效;须确认ElixirSyntax已安装且右下角语法设为Elixir,Sublime Text版本≥4142,elixir-ls二进制已正确部署并验证PATH,LSP配置中syntaxes路径必须与实际插件路径严格一致。

右下角没显示“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字样 - 手动下载:去 https://www.php.cn/link/06de5b4f3d0ee8a0749bf6a5af99d224 找最新
elixir-ls-*.zip,解压后记下release/language_server.sh(或.bat)的绝对路径 - 验证
PATH:在终端直接运行language_server.sh --version必须成功——如果报command not found,说明没加到系统PATH,后续 LSP 设置里就得写全路径
LSP 配置中 syntaxes 路径必须与 ElixirSyntax 实际路径一致
打开 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路径必须和你本地ElixirSyntax安装位置一致,常见为Packages/ElixirSyntax/Elixir.sublime-syntax):
{
"clients": {
"elixir-ls": {
"command": ["/path/to/release/language_server.sh"],
"scopes": ["source.elixir"],
"syntaxes": ["Packages/ElixirSyntax/Elixir.sublime-syntax"]
}
}
}
最易被忽略的是 syntaxes 字段里的路径拼写——少一个 S(比如写成 elixirsyntax)、多一个斜杠、或者用了旧插件路径(Packages/Elixir/...),都会让 LSP 完全静默。别只盯着 command,这个字段才是开关。


















