Atom 已于2022年12月15日停止维护,language-elixir等插件因依赖废弃API、缺失新语法支持、无法连接ElixirLS而基本不可用,atom-elixir和ink插件彻底失效,仅旧系统降级Atom 1.58.0并锁定插件版本可勉强维持基础功能。

Atom 已于 2022 年 12 月 15 日正式停止维护,官方仓库归档,所有插件(包括 atom-elixir、language-elixir、ink)不再更新,且与现代 Elixir(≥1.14)、Erlang/OTP(≥24)及 macOS / Linux 新内核存在大量兼容性问题。不建议在新项目或生产环境中使用 Atom 配置 Elixir。
为什么 language-elixir 插件现在基本不可用
该插件依赖已废弃的 Atom API(如 atom.workspace.observeTextEditors),在 Atom 1.60+ 中触发 Deprecation Cop 警告后直接失效;语法高亮对 .leex、.heex、defimpl 等新语法无支持;无法识别 mix format 规则,保存时格式化失败。
- 常见错误现象:
Failed to activate package 'language-elixir' because it depends on a deprecated API - 即使强制启用,
Ctrl+Click跳转定义返回Cannot find definition - 输入
defmodule后无自动补全,Tab键不触发 snippet
atom-elixir 和 ink 插件已彻底失效
这两个插件曾提供代码补全、Dialyzer 检查和调试支持,但自 2023 年起无法连接本地 mix 或 iex 进程;其底层通信依赖 Atom 的 serviceHub,该机制已被移除;尝试启动会卡在 Starting ElixirLS…,最终超时并报错 Connection refused to port 4000(端口硬编码且不可配置)。
- 调试功能完全不可用:断点不命中,变量面板为空
- Dialyzer 分析永远显示
No dialyzer PLT found,即使手动运行mix dialyzer --plt也无响应 - 插件设置中所有路径字段(
elixirPath、mixPath)编辑后重启 Atom 无效
如果必须用 Atom(如遗留项目维护),唯一可行路径
仅限 macOS Intel 或 Ubuntu 20.04 等旧系统,且 Elixir ≤1.12、Erlang ≤23。需手动降级 Atom 并禁用自动更新:
- 下载 Atom 1.58.0(最后稳定版):
https://github.com/atom/atom/releases/tag/v1.58.0 - 安装插件顺序必须为:
language-elixir→atom-elixir→ink(版本号锁定:language-elixir@0.23.0、atom-elixir@0.5.0、ink@0.12.5) - 在
config.cson中强制指定路径:"atom-elixir": { "elixirPath": "/usr/local/bin/elixir", "mixPath": "/usr/local/bin/mix" } - 每次打开项目前,先终端执行
mix compile,否则插件无法加载 AST 缓存
真实情况是:连最基础的 mix test 集成都做不到稳定触发,错误堆栈常含 TypeError: Cannot read property 'onDidStopChanging' of undefined。现在还坚持用 Atom 做 Elixir 开发,相当于在没有刹车的情况下下山——不是不能动,而是风险远大于收益。











