sublime怎么配置elixir开发环境_sublime安装elixir-ls插件高亮设置【方案】
发布时间:2025-12-31 00:00
发布者:冰火之心
浏览次数:能,需Sublime Text 4(build 4142+)配合SublimeLSP插件与手动安装的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.sh(macOS/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 隐蔽得多。
# vim
# 跳转
# 又不
# 只在
# 请把
# 得多
# 和你
# 首次
# 是一个
# 启动时
# 的是
# sublime text
# linux
# console
# win
# 解压
# 环境变量
# macos
# mac
# github
# windows
# git
# sublime
相关文章:
如何使用Golang实现并发事件处理_Golang事件分发与处理示例
PythonMatplotlib动画项目教程_动态可视化图表实战
中国第一、全球第四!长鑫科技终于要上市了:TOP5客户首次披露
php串口通信权限不够怎么办_修改linux串口设备权限给php访问【教程】
如何检查Golang模块是否安全_Golang依赖安全扫描技巧
简历没回改:利用AI润色让你的文字更专业
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
c++如何使用spdlog日志库_c++高性能异步日志框架【教程】
荣耀Power2搭载第二代鸿燕通信技术 定档1月5日发布
如何使用Golang实现字符串操作_Golang字符串拼接与切割方法
键盘按键错乱怎么办 电脑键盘输入修复方法【教程】
抖音网页版官网入口_官方网站免登录网址
洁耳护耳双专家,家里人人都好用——蜂鸟bebird专业耳朵护理仪重磅上市!
Python网络程序容错设计_异常恢复解析【教程】
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
Redux 中的 Firebase 用户对象意外嵌套问题解析与解决方案
PHP 中使用 foreach 遍历并分割 POST 多值表单数据的正确方法
Microsoft Edge如何设置默认搜索引擎 Edge浏览器搜索引擎设置
Java中对对象数组使用Stream API的正确方法
Win11如何设置环境变量 Win11添加和修改系统与用户变量【教程】
如何正确初始化对象数组以避免 NullPointerException
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
如何为不同团队 ID 动态生成多个独立按钮
PythonHTTP请求生命周期_请求响应解析【教程】
Linux系统常见配置文件_位置与作用详解【指导】
html如何与html链接_实现多个HTML页面互相链接【互相】
如何在单个HTML文件中嵌入CSS样式
JavaScript如何实现单例模式_怎样确保全局只有一个实例
Python递归函数优化_尾递归与迭代解析【教程】
java调用shell脚本的方法
相关栏目:
【
行业资讯17850 】
【
软件资源51899 】
【
网站技术89748 】
【
百度推广44206 】
【
网络营销84187 】
【
运营推广93002 】
【
AI优化91086 】
【
网络优化117696 】
【
网址导航107142 】





}
}
}

