Plugins菜单有对应子项说明插件已成功加载并注册;若无,则可能因位数不匹配、目录结构错误(如未放入同名子目录)、依赖缺失或未重启所致。

Plugins 菜单里有没有对应子项
Notepad++ 不会把所有插件都列在某个“已加载列表”里,最直接的判断方式就是看顶部菜单栏的 Plugins 下有没有该插件的子菜单。比如装了 Compare,就会出现 Plugins → Compare;装了 NPPJSONViewer,就会有 Plugins → JSON Viewer。
这个现象说明插件 DLL 已被成功加载、注册,并且菜单项绑定正常。但要注意:
- 有些插件(如
Light Explorer)默认不加菜单,只在侧边栏显示图标,得靠手动启用或查状态栏提示 - 如果插件依赖其他组件(比如
Markdown Viewer Plus+需要内置浏览器控件),即使菜单出现了,功能也可能不可用 - 右键菜单项是否出现,取决于插件是否主动注册了
contextMenuCommandID,和顶部菜单是两套机制
Plugin Manager 里的 Installed 标签页
打开 Plugins → Plugin Manager → Show Plugin Manager,切换到 Installed 标签页,这里列出的是 Plugin Manager 自己记录的“已安装插件”。但它只反映通过它安装/更新的插件,不包含手动复制进 plugins\ 目录的插件,也不代表当前一定加载成功。
常见误判点:
- 列表里有,但
Plugins菜单没出现 → 插件未加载,大概率是位数不匹配(x64 Notepad++ 加了 x86 插件 DLL)或路径结构错误(没放进plugins\<pluginname>\<pluginname>.dll</pluginname></pluginname>) - 列表空白 → 可能是 Plugin Manager 本身损坏,或网络问题导致缓存未初始化,不是插件真没了
- 点了 Install 却没重启 Notepad++ → 插件文件已落盘,但进程未重载,菜单不会出现
启动时按住 Shift 键看日志输出
这是最底层、也最可靠的验证方式:关闭所有 Notepad++ 进程(包括托盘残留),按住 Shift 键不放,再双击启动。此时会弹出一个控制台窗口,实时打印插件加载过程。
重点关注三类输出:
-
Loading plugin: xxx.dll→ 表示尝试加载 -
Plugin xxx loaded successfully→ 确认加载成功 -
Failed to load plugin xxx.dll: ...→ 后面跟具体错误,常见有Invalid access to memory(位数错)、Dependency not found(缺 VC++ 运行库)、Entry point not found(SDK 版本不兼容)
这个日志不会保存,关掉窗口就消失,所以得边看边记。它比菜单和 Plugin Manager 更真实,因为绕过了所有缓存和 UI 层。
插件目录下是否存在合法结构
去你的 Notepad++ 插件目录(通常是 C:\Program Files\Notepad++\plugins\ 或便携版的 .\plugins\),检查每个插件是否满足 v7.9+ 的强制要求:
- 必须是一个**同名子目录**,例如
NPPJSONViewer.dll必须放在plugins\NPPJSONViewer\NPPJSONViewer.dll - 不能直接扔在
plugins\根目录下(老版本允许,新版本忽略) - 子目录名必须和 DLL 文件名(不含扩展名)完全一致,大小写敏感(Windows 文件系统不敏感,但 Notepad++ 加载器敏感)
- 如果插件带配置文件(如
config.ini)或语言包(lang\zh-CN.xml),它们也必须放在同一子目录内
结构错一个字符,插件就不会出现在菜单里,Plugin Manager 也看不到,日志里可能连“Loading”都不打印——它根本不会扫描那个路径。


















