Notepad++自动补全默认关闭,必须勾选“启用每个输入的自动完成”和“函数参数提示”两项开关,并确保语言模式正确、.api文件按位数放对autoCompletion路径且全小写命名,插件冲突也会导致补全失效。

自动补全根本没开,先看这两个开关
Notepad++ 默认完全关闭自动补全,启用每个输入的自动完成 和 函数参数提示 这两项不勾选,敲任何字母都不会弹出提示——不是 bug,是默认状态。很多人输 for 没反应、输 document. 不出方法列表,问题就卡在这儿。
操作路径:设置 → 首选项 → 自动完成 → 勾选:
• 启用每个输入的自动完成(这是总开关,关了它,所有补全都静默失效)
• 函数参数提示(影响 console.log( 后显示参数说明、CSS 属性值提示等)
改完立刻生效,但已打开的文件建议用 Ctrl+O 重新加载一次,避免缓存残留;不用重启 Notepad++。
.api 文件放错位置或命名不对,补全就为空
想补 printf()、JSON.parse()、os.path.join() 这类真实函数,光开开关没用,必须有对应语言的 .api 文件,且路径和命名必须严丝合缝。
关键规则:
• 64 位 Notepad++:把 cpp.api、javascript.api 等放进 %PROGRAMFILES%\Notepad++\autoCompletion\
• 32 位 Notepad++:放进 %PROGRAMFILES(X86)%\Notepad++\autoCompletion\
• 文件名必须全小写,扩展名必须是 .api(js.xml、PHP.API 都不识别)
• 补全是前缀匹配:输 JSON. 才能触发,输 json. 或只输 parse 不会出来
语言模式错了,.api 文件根本不会加载
补全严格绑定当前文件的语言模式,不是靠后缀名,也不是靠你“以为”它是哪种语言。右下角状态栏显示 Normal text 或 HTML(不是 HTML 而是 HTML (Embedded)),那 javascript.api 就不会加载,补全自然为空。
确认和修正方式:
• 看右下角状态栏,必须明确显示 JavaScript、C++、CSS 等(注意:CSS (Embedded) ≠ CSS)
• 如果不对,点菜单栏「语言」→ 选对应项(比如 CSS 文件要选「CSS」,别选「CSS (Embedded)」)
• .scss、.less 等预处理器原生不支持属性补全,别白折腾 .api 文件
补全菜单弹出来却按不了 Enter/Tab?插件在劫持按键
菜单能弹、箭头能上下移动,但按 Enter 或 Tab 没反应——90% 是插件干扰。常见肇事者:QuickText、Python Script、NppExec,它们会拦截输入事件,让补全逻辑“卡住”。
快速验证:
• Win+R 输入:"C:\Program Files\Notepad++\notepad++.exe" -noPlugin(路径按你实际安装位置调整)
• 启动后打开同个文件测试补全是否恢复
• 若恢复正常,说明有插件冲突,逐个禁用插件定位
• 别把 .api 文件扔进 plugins\ 目录——它只认 autoCompletion\ 子目录
最常被忽略的其实是语言模式和 .api 文件的耦合关系:哪怕 cpp.api 放对了路径、开关也全开了,只要状态栏显示的是 Normal text,它就永远不会加载。


















