notepad++ 32位插件必须放入plugins\插件名\子目录(如plugins\compare\compare.dll),v7.9+不再扫描plugins根目录;位数须严格匹配,32位notepad++才能加载32位dll,否则静默失败且无提示。

Notepad++ 32位插件必须放在 plugins\插件名\ 子目录里
从 v7.9 开始,Notepad++ 不再扫描 plugins\ 根目录下的 DLL 文件。哪怕你把 Compare.dll 直接丢进 plugins\,它也不会加载——菜单里完全不出现,连错误提示都没有。
正确做法是:为每个插件单独建一个同名子目录,再把 DLL 放进去。比如装 Compare 插件:
- 创建目录:
plugins\Compare\ - 把下载来的
Compare.dll(注意必须是 32 位)放进该目录 - 确保文件名大小写完全匹配(
compare.dll或Compare.dll.bak都无效)
为什么 32 位插件不能混进 64 位 Notepad++?
Notepad++ 启动时调用 LoadLibraryExW 加载插件,如果位数不匹配,函数直接返回 NULL,但不会报错、不写日志、也不弹窗——你只会发现 Plugins 菜单空空如也。
验证方式很直接:
- 打开 Notepad++ → 「帮助」→「关于 Notepad++」,看标题栏是否写着
(32-bit) - 任务管理器 → 详细信息 → 找
notepad++.exe进程,右键“属性”→“兼容性”页签里看不到“以 64 位模式运行”字样,基本就是 32 位 - 千万别凭系统是 Win11 x64 就默认编辑器也是 64 位;官网下载页明确分了
64-bit x64和32-bit x86两个安装包
便携版的插件路径最容易搞错
便携版不会自动生成 plugins 文件夹,也不会读取 %APPDATA%\Notepad++\plugins\ ——它只认和 notepad++.exe 同级的 plugins\ 目录。
比如你解压到 D:\Tools\Notepad++Portable\,那插件路径只能是:
-
D:\Tools\Notepad++Portable\plugins\(你得手动建) - 里面再建
NppFTP\、XMLTools\这样的子目录 - 绝不能是
plugins\download\或plugins\config\,Notepad++ 根本不扫描这些子路径
插件目录里多一个文件或少一个 DLL 就会失效
Notepad++ 插件加载器对目录内容非常敏感。它期望每个插件子目录下有且仅有一个主 DLL 文件(比如 Compare.dll),其他文件(readme.txt、libeay32.dll、icon.png)都可能干扰识别,尤其在旧版插件中。
常见踩坑点:
- 解压插件 ZIP 时没进子文件夹,把一堆杂项全拖进了
plugins\Compare\ - 插件依赖的额外 DLL(如 OpenSSL)被一起放进去,导致加载失败
- 插件文件夹名含中文、空格或点号(如
Hex Editor\或My.Plugin\),解析器直接跳过
最稳妥的做法:插件子目录下只保留一个 DLL,文件名与目录名严格一致,无额外文件,无 Unicode 特殊字符。











