notepad++自动补全需同时开启“启用每个输入的自动完成”和“函数参数提示”两项开关,缺一不可;.api文件须按架构放对路径、全小写命名;语言模式必须正确识别为对应语言(如javascript),且避免插件冲突。

Notepad++ 的自动补全不会自己生效,哪怕你把 js.api 放进目录、装了插件、改了语言模式,只要两个开关没开,它就完全不响应。
必须打开的两个自动完成开关
补全是 Notepad++ 内置功能,不依赖插件,但默认全部关闭。关着就等于没装。
-
启用每个输入的自动完成:这是总闸门,不勾选,Ctrl+Space不弹窗、敲字母也不触发前缀匹配 -
函数参数提示:决定输入console.log(或fetch(后是否显示括号内参数说明
这两项在「设置 → 首选项 → 自动完成」最顶部,改完无需重启,但已打开的文件建议按 Ctrl+O 重新加载一次,避免缓存残留。
.api 文件路径和命名必须严格匹配架构与大小写
Notepad++ 不会报错、不会提示、也不会尝试纠错——放错就当不存在。
- 64 位 Notepad++:.api 文件必须放进
%PROGRAMFILES%\Notepad++\autoCompletion\ - 32 位 Notepad++:必须放进
%PROGRAMFILES(X86)%\Notepad++\autoCompletion\ - 文件名必须全小写 +
.api扩展名:cpp.api✅,Cpp.API❌,javascript.xml❌,JS.API❌
补全是纯前缀匹配:docu 能触发 document,但只输 getElementById 不会出现任何提示。
语言模式不对,.api 文件等于白放
右下角状态栏显示 Normal text、CSS (Embedded) 或 PHP (HTML),哪怕文件后缀是 .js,js.api 也不会加载。
- 手动切换语言:菜单栏「语言 → J → JavaScript」(不是「JavaScript (ES6)」或其它变体)
- 确认当前语言是否被识别:按
Alt+L看弹出菜单中当前项是否高亮为「JavaScript」 - 部分语法高亮插件(如 User Defined Language)会覆盖语言模式,导致 .api 失效
如果用了自定义语言或嵌入式语法(如 HTML 中的 script 块),补全行为可能被截断或降级。
插件冲突会导致补全静默失效
某些插件(尤其是 PythonScript、TextFX、Explorer)会劫持编辑器事件链,让自动完成无法捕获按键或弹出窗口。
- 临时禁用所有插件:启动时加命令行参数
notepad++.exe -noPlugin - 逐个启用排查:在「插件 → Plugin Admin」里取消勾选一半插件,重启测试补全是否恢复
- 重点怀疑对象:
AutoSave(旧版)、DoxyIt、XML Tools—— 它们常注册全局WM_CHAR或EN_CHANGE消息监听
最容易被忽略的是:补全逻辑和插件加载顺序无关,但它极度依赖语言解析器的稳定输出;一旦某个插件让语法高亮卡顿或崩溃,补全窗口就再不会出现。











