autocomplete-paths 仍可用但仅限路径提示,atom-ternjs 因 node.js v20 与 electron 25 不兼容已基本失效,atom 原生补全机制被移除,当前无可靠 js/ts 符号级提示方案。

autocomplete-paths 和 atom-ternjs 是目前(2026 年)Atom 中仅存的、仍能提供基础代码提示能力的插件,但二者适用场景和稳定性差异极大,不能混用或盲目安装。
为什么 atom-ternjs 在 2026 年基本不可用
该插件依赖 Tern.js 的旧版协议与 Node.js v14 运行时,而 Atom 1.60+ 已绑定 Electron 25+ 和 Node.js v20,导致其初始化时频繁抛出 TypeError: Cannot read property 'on' of undefined;即使强行 patch 启动,对 ES2022+ 语法(如 Promise.withResolvers()、Array.fromAsync())完全无感知,变量跳转失效率超 70%。
autocomplete-paths 能用,但只在路径上下文中生效
它不提供语言级符号补全,只在以下位置触发提示:
-
<link href="...">或@import url(...)中的 CSS/JS 路径 -
require('...')或import ... from '...'的字符串字面量内(仅支持相对路径和node_modules) - 不识别 Webpack/Vite 别名(如
@/utils或#shared),输入后直接静默 - 在 JSX/TSX 中的
src、href等属性里表现最稳定
替代方案比硬调 autocomplete-plus 更现实
原生 autocomplete-plus 插件本身已无法加载,报错 Cannot find module 'atom' —— 这不是配置问题,是 Atom 的服务注册机制在 Electron 25 中被彻底移除所致。你看到的“自动补全”大概率来自:
- 系统级输入法的词库联想(误判为插件功能)
-
emmet在 HTML/CSS 中的缩写展开(本质是模板替换,非符号提示) - 编辑器内置的简单单词级补全(基于当前文件 token,无跨文件/类型推导)
真正需要 JS/TS 符号跳转、参数提示、类型预览的场景,Atom 已无可靠插件支撑。这不是配置技巧问题,而是底层运行时断代造成的功能真空。










