Notepad++ v8.5+ 默认不带且插件管理器中无Compare插件,必须手动下载匹配x64/x86架构的Compare.dll,放入%ProgramFiles%\Notepad++\plugins\Compare\目录并以管理员身份重启;比对时需确保当前活动标签页为参考文件、右侧紧邻标签页为待比文件,且两文件均已保存、编码统一为UTF-8 without BOM。

Notepad++ 默认不带 Compare 插件,v8.5+ 版本甚至插件管理器里搜不到它——必须手动安装、严格按顺序操作,否则点 Plugins → Compare 会直接消失或报 No reference document。
Compare 插件怎么装才生效(x64/x86 架构别搞错)
新版 Notepad++(v8.5+)已移除 Compare 插件的自动安装入口。你不是漏点,是它真没了。
- 先看架构:帮助 → 关于 Notepad++,确认显示的是
x64还是x86 - 去官方或可信源下载对应架构的
Compare.dll(注意文件名含UNI的是 Unicode 版,推荐;ANSI版已过时) - 放入路径:
%ProgramFiles%\Notepad++\plugins\Compare\Compare.dll(必须是Compare\子目录,不是直接丢进plugins\) - 重启 Notepad++;若菜单仍不出现,右键任务栏图标 → “以管理员身份运行”再试一次(UAC 权限常导致 DLL 加载失败)
为什么点了 Compare 却提示 No reference document
这不是插件坏了,是 Compare 插件只认一种硬编码逻辑:当前活动标签页 = 参考文件,紧邻右侧标签页 = 待比文件。它不识别“选中两个标签页”,也不支持右键菜单触发。
- 两个文件必须用
Ctrl+O分别打开,不能是分屏(View → Split)、不能是同一文件的两个副本 - 鼠标单击或
Ctrl+Tab切换,确保基准文件是当前焦点 - 第二个文件标签页必须**紧邻其右**——中间夹了
new 1或其他文件,Compare 就静默跳过 - 任一标签页标题含
*(未保存),比对可能误判为相同;务必先Ctrl+S
比对结果全是红/全蓝,或显示 Files are identical 但明显不同
Compare 不做编码转换,它比的是原始字节流。一个 UTF-8 with BOM,一个 GBK,哪怕内容一字不差,也会标成全差异。
- 右键任一标签页 → 编码 → 转为
UTF-8 without BOM,两个文件都执行一遍 - 检查状态栏右下角,确认显示的是
UTF-8 without BOM(不是UTF-8,也不是ANSI) - 混合换行符(CRLF + LF)也会导致行偏移,可统一为 Windows 格式:Edit → EOL Conversion →
Windows (CR LF) - 大文件(>5MB 或 >10 万行)容易卡死,建议先人工粗筛再比
怎么跳转和优化差异显示(Alt+N/P 不是跳下一行)
Compare 没有侧边导航栏,也不支持鼠标点击跳转,全靠快捷键驱动。
- 按
Alt+D初始化比对;状态栏左下角显示Lines differ: X才算成功 -
Alt+N是跳到**下一个差异块首行开头**(不是变化行本身),Alt+P同理 - 默认高亮色由主题决定,若看不清:Settings → Style Configurator → Language:
Global Styles→ Style:DIFF_LINE调背景色 - 点 Plugins → Compare → Options,关键三项:
Ignore white-spaces at line ends(必勾)、Compare case sensitive(PHP/HTML 通常取消)、Ignore changes in white-spaces only lines(处理纯空格行)
最易被忽略的其实是“已保存”和“紧邻右侧”这两个条件——它们不报错,但会让 Compare 静默失效。很多人反复重装插件,其实只是标签页顺序或编码没调对。


















