插件未出现在菜单中,主因是路径错误:必须将.dll放入plugins目录下与其文件名完全一致的子目录内(如NppFTP.dll→plugins\NppFTP\),且位数匹配、无中文空格、进程彻底退出。

插件没出现在菜单里,八成是路径放错了
Notepad++ 对插件目录结构有硬性要求,不是把 .dll 往 plugins 里一丢就完事。它只扫描符合特定命名规则的子目录,其他路径一律跳过——不报错、不提示、也不加载。
必须满足三个条件:
-
plugins目录下必须存在与 DLL 文件名**完全一致**的子目录(不含扩展名),例如NppFTP.dll→ 子目录名必须是NppFTP - DLL 文件必须放在该子目录**内部**,即完整路径为
plugins\NppFTP\NppFTP.dll,不能是plugins\NppFTP.dll或plugins\NppFTP\libs\NppFTP.dll - 路径中不能含中文、空格或特殊字符;便携版用户尤其注意:插件目录必须与
notepad++.exe同级,不是%AppData%\Notepad++\plugins
新版插件和旧版插件的目录结构不同
Notepad++ v7.50+ 的插件生态分两套逻辑,混用会直接失效:
- 旧版插件(如
Compare、NppFTPv0.29 及以前):可直接放plugins根目录,但仅限于老版本 Notepad++(v7.50 之前) - 新版插件(如
JSONViewer、MarkdownPanel、NppFTPv0.41+):必须放进同名子目录,且文件名大小写敏感——jsonviewer.dll放进plugins\jsonviewer\就无效,得是plugins\JSONViewer\JSONViewer.dll - 部分插件(如
PythonScript)还要求子目录内包含locale文件夹,缺失会导致启动时报Failed to load plugin
怎么快速验证插件路径是否合法
别靠肉眼翻文件夹,用系统命令一眼看清结构:
在 PowerShell 中运行(替换为你实际的安装路径):
Get-ChildItem "C:\Program Files\Notepad++\plugins\*" -Directory | ForEach-Object { $dlls = Get-ChildItem $_.FullName -Filter *.dll -ErrorAction SilentlyContinue; Write-Host "$($_.Name): $($dlls.Count) DLL(s)" }
输出类似:
NppFTP: 1 DLL(s)<br>JSONViewer: 1 DLL(s)<br>ComparePlus: 0 DLL(s)
如果某插件显示 0 DLL(s),说明它根本不在正确位置;如果压根没列出名字,说明连子目录都没建对。
常见误操作:
- 把
HexEditor-x64.zip解压后直接拖整个文件夹进plugins,结果路径变成plugins\HexEditor-x64\HexEditor.dll→ 错,子目录名必须是HexEditor - 下载的是
markdownpanel.dll,却建了plugins\MarkdownPanel\→ 错,大小写不匹配,加载器忽略 - 用资源管理器复制时手抖多建了一层,变成
plugins\NppFTP\NppFTP\NppFTP.dll→ 错,深度超了
位数匹配错误常被当成路径问题
路径全对但插件还是不显示?立刻检查 Notepad++ 架构:
- 打开 Notepad++ → 帮助 → 关于 Notepad++,右下角明确标着
64-bit还是32-bit - 64 位 Notepad++ 必须用带
-x64后缀的 DLL(如NPPJSONViewer-x64.dll),混用 32 位 DLL 会导致插件菜单消失、甚至启动黑屏 - 不要看系统是 64 位就默认 Notepad++ 是 64 位——很多用户装的是 32 位版,尤其从旧电脑迁移过来的便携版
最容易被忽略的一点:插件路径正确、位数也匹配,但如果 Notepad++ 启动时后台还有残留进程(任务管理器里能看到 notepad++.exe),新插件依然不会加载。关软件 ≠ 关进程,务必手动杀掉所有实例再重启。


















