notepad++自动补全需手动启用:先勾选“启用每个输入的自动完成”和“函数参数提示”,再确保语言模式与api文件(如python.xml)匹配且路径正确,修改后须重启;标准库函数补全需手动编辑xml或使用社区词典;代码片段需snippets插件,与原生补全避免前缀冲突。

Notepad++ 的自动补全根本没开,先检查这两个开关
默认安装的 Notepad++ 完全不启用任何代码补全逻辑,所谓“输几个字母就弹出提示”是纯手动配置的结果。很多人敲 for 没反应、敲 std:: 不出函数列表,大概率是压根没勾选关键选项。
打开 设置 → 首选项 → 自动完成,必须同时勾选:
-
启用每个输入的自动完成(这是底层触发开关,关了它,所有补全都失效) -
函数参数提示(影响括号内参数显示,比如printf(后弹出参数说明)
注意:自动完成 页面里的选项不是“代码片段”,而是整个补全系统的使能开关;不勾就等于没装补全功能。
补全不生效?检查语言模式和 API 文件路径是否匹配
Notepad++ 补全只在「当前语言模式 + 对应 API 文件存在」时才工作。常见错误是文件明明是 .py,但右下角状态栏显示的是 Normal text 或 HTML —— 这时候 python.xml 根本不会加载。
确认步骤:
- 右下角看语言标识,应为
CSS/Python/JavaScript等,不是Normal text;如果不是,点菜单语言 → C → CSS(注意别选CSS (Embedded)) - 对应 API 文件(如
python.xml、javascript.xml)必须放在正确路径:%PROGRAMFILES%\Notepad++\plugins\APIs\(64 位)或%PROGRAMFILES(X86)%\Notepad++\plugins\APIs\(32 位) - API 文件名必须小写,且
<autocomplete language="python"></autocomplete>中的language值要和你当前语言模式完全一致(大小写敏感)
改完 API 文件或语言设置后,必须重启 Notepad++ 才生效 —— 仅重载文件或切换标签页无效。
想补全标准库函数?别指望默认安装包
Notepad++ 默认带的 python.xml 或 javascript.xml 只含基础关键字(if、function),不包含 os.path.join、Array.prototype.map 这类函数级补全。
要真正获得函数提示,你得:
- 手动编辑对应
.xml文件,在<keyword name="join"></keyword>下补充标准库函数名(注意按字母序排列) - 或从社区找更新版词典(如 GitHub 上维护的
notepad-plus-plus-userdefined项目) - 自定义语言(如写某种 DSL)时,补全必须写进
userDefinedLang.xml的<keywords></keywords>节点,且同样需重启
别下载“自动补全.zip”直接扔进插件目录——Notepad++ 不识别压缩包,也不支持运行时热加载 XML。
代码片段(snippet)和函数补全是两套机制
敲 log 自动变成 console.log($1);?这不是原生自动补全干的事,得靠 Snippets 插件 + 宏绑定。
操作要点:
- 用
Plugin Admin安装Snippets插件(不是内置功能) - 插件启用后默认无快捷键,需进
Plugins → Snippets → Edit snippets手动添加内容,例如:console.log($1); - 想用
Ctrl+1触发,得先录制宏:右键 →Snippets → Insert snippet → log,再存为宏并绑定快捷键 -
$1是占位符,但 Notepad++ 不支持跳转(不像 VS Code 那样按 Tab 切换),只能手动修改
最易忽略的一点:Snippets 插件和原生 Auto-Completion 共存时,如果都监听相同前缀(如 for),可能互相干扰 —— 建议把 snippet 命名设为带下划线的唯一前缀(如 for_),避免冲突。











