首页 关于我们 成功案例 网络营销 电商设计 新闻中心 联系方式
QQ联系
电话联系
手机联系
QQ联系
电话联系
手机联系

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