Notepad++自动补全需开启两个开关并正确放置.api文件:启用每个输入的自动完成、函数参数提示;64位版.api文件放%PROGRAMFILES%\Notepad++\autoCompletion\,32位版放%PROGRAMFILES(X86)%\Notepad++\autoCompletion\,文件名全小写且为.api扩展名;语言模式须设为C++或JavaScript等对应语言,否则.api不生效;插件冲突(如QuickText)可能导致补全列表可见但无法输入。

Notepad++ 默认不启用任何自动补全,敲 for 没反应、输 JSON. 不出函数列表,基本就是两个开关没开,或 .api 文件没放对位置。
必须勾选的两个自动完成开关
打开 设置 → 首选项 → 自动完成,只看最上面两项:
-
启用每个输入的自动完成:这是总开关,关了它,Ctrl+Space都弹不出列表 -
函数参数提示:决定输入printf(或document.getElementById(后是否显示参数说明
这两项不勾,后面所有配置都白搭。改完立刻生效,但已打开的文件建议按 Ctrl+O 重新加载一次(不用重启 Notepad++)。
.api 文件路径和命名必须严格匹配位数与大小写
Notepad++ 不会自动猜路径,也不容错:
- 64 位版本:把
cpp.api、js.api、python.api放进%PROGRAMFILES%\Notepad++\autoCompletion\ - 32 位版本:放进
%PROGRAMFILES(X86)%\Notepad++\autoCompletion\ - 文件名必须全小写,扩展名必须是
.api(Cpp.API、javascript.xml、JS.API全部无效)
补全是前缀匹配:JSON. 能触发 JSON.parse,但只输 parse 就不会出现。
语言模式不对,.api 文件等于不存在
右下角状态栏显示 Normal text 或 CSS (Embedded),哪怕文件后缀是 .js,js.api 也不会加载:
- 点菜单
语言 → C++(不是C),JavaScript(不是JS或HTML) -
.scss、.ts等非原生语言需手动切换为CSS或JavaScript才能用对应补全 - 自定义语言(UDL)的补全必须写进
userDefinedLang.xml的<functions>节点,不能塞在<keywords>里
改完语言模式后,按 Ctrl+Space 测试:如果列表为空,说明 .api 文件未被识别。
插件冲突比配置错误更难察觉
补全菜单能弹出来,但按 Tab 或 Enter 没反应?大概率是插件劫持了输入事件:
- 常见干扰插件:
QuickText、Python Script、NppExec - 验证方法:Win+R 输入
"C:\Program Files\Notepad++\notepad++.exe" -noPlugin(路径按实际调整),启动后测试 - 若恢复正常,说明有插件冲突;逐个禁用插件定位,别直接删配置文件
补全逻辑本身极轻量,但一旦和插件快捷键重叠(比如都监听 Tab),就卡在“看得见、选不了”的状态——这个细节最容易被忽略,也最难排查。


















