Atom 的 autocomplete-plus 默认不提示基础关键字,需安装对应语言 provider(如 autocomplete-javascript)并确保 grammar 正确识别为 source.js 才能补全 console、if、for 等。

Atom 补全不提示 console、document、if、for 这类基础关键字,不是插件没装,而是 autocomplete-plus 默认只补全“当前作用域已声明的变量/函数”,不内置语言关键词词库——它不负责语法层面的提示,得靠对应语言 provider 才行。
autocomplete-plus 本身不提供关键字补全
很多人误以为装了 autocomplete-plus 就该弹出 function 或 return,其实它只是个 UI 调度器,连 console.log 都不会主动推给你,除非:
-
console已在当前文件中被显式声明(比如const console = {})或通过import/require引入 - 你装了支持关键字补全的语言 provider(如
autocomplete-javascript),且它已正确加载 - 当前文件 grammar 被识别为
source.js,而不是Plain Text
必须装对 language provider 才能补全关键字
基础关键字(let、await、console、JSON.parse 等)由语言专属 provider 提供。不装,就只有空列表或本地历史词。
- 写 JavaScript:装
autocomplete-javascript(别用atom-ternjs替代,后者不补基础全局对象) - 写 Python:装
autocomplete-python,它会补print、os.path、len等 - 写 HTML:装
autocomplete-html,否则<di> 不会补 <code><div> <li>provider 装完后务必重启 Atom,尤其 Windows —— 后台进程常驻,不重启新插件不生效</li> <h3>右下角 grammar 显示 Plain Text 是最大隐形杀手</h3> <p>哪怕你写的是 <code>main.js,只要没保存或 Atom 没识别对语法类型,autocomplete-javascript就不会启动,补全彻底静默。- 看窗口右下角:必须显示
JavaScript(不是JS、js或JavaScript (JSX)) - 点击右下角文字 → 手动选
JavaScript;新建临时文件未保存时,默认就是Plain Text - 如果点了没反应,检查
language-javascript插件是否启用(它是 grammar 解析基础,非可选项) - 某些项目用
.editorconfig或package.json的"type": "module"可能干扰 grammar 切换,可临时删掉验证
补全仍不出现?优先查这三个地方
比翻设置更快的排查路径:
- 打开开发者工具(
Ctrl+Shift+I)→ Console 标签,输入atom.packages.getActivePackage('autocomplete-plus').mainModule.providerManager.providers,看返回数组里有没有autocomplete-javascript或对应 provider - 按
Ctrl+.(Keybinding Resolver),把光标放代码里按Ctrl+Space,左下角是否显示autocomplete-plus:activate?如果不显示,说明快捷键被系统输入法或其它插件劫持 - 关掉所有非必要插件(尤其
autocomplete-atom-api、nuclide、atom-ide-ui),它们会覆盖getSuggestions方法,导致控制台报Cannot read property 'getSuggestions' of undefined
真正起效的关键点很朴素:插件启用 + 语法识别正确 + provider 匹配 scope。三者缺一,
console就永远不出现——它不是“坏了”,是根本没被调用。 - 看窗口右下角:必须显示

















