Notepad++ 8.x 需手动安装匹配架构的 Compare.dll,路径为 %ProgramFiles%\Notepad++\plugins\Compare\Compare.dll;比对要求两标签页相邻、编码统一为 UTF-8 without BOM,且仅支持 Alt+D 启动、Alt+N/P 导航差异块。

Notepad++ 默认不带 Compare 插件,8.x 版本(包括当前最新稳定版)必须手动安装匹配架构的 Compare.dll,否则点 Plugins → Compare 会直接消失或点击无反应。
Compare 插件在 Notepad++ 8.5+ 中根本找不到?
不是你漏看了,是它真被官方移出了插件管理器。从 v7.9 起,Compare 就不再预装;到 v8.5+,连“插件管理器”里都搜不到。必须手动下载、放对路径、重启生效:
- 先确认你的 Notepad++ 架构:
帮助 → 关于 Notepad++看是 x86 还是 x64 - 下载对应版本的
Compare.dll(注意:x86 和 x64 不可混用) - 放入目录:
%ProgramFiles%\Notepad++\plugins\Compare\Compare.dll(注意是Compare\子目录,不是直接丢进plugins\) - 重启 Notepad++;若菜单仍不出现,右键任务栏图标 → “以管理员身份运行”再试一次(UAC 权限常导致加载失败)
点了 Compare 却报“No reference document”?
这不是插件坏了,而是 Compare 插件只认一种顺序:“当前活动标签页是参考文件,下一个标签页是待比对文件”。它不会智能识别哪两个标签页该比,也不支持右键菜单选中后操作。
- 必须用
Ctrl+O分别打开两个文件,确保它们是两个独立标签页(不能是分屏、不能是同一文件的两个副本) - 用鼠标单击或
Ctrl+Tab切换,让第一个文件(基准文件)成为当前焦点 - 第二个文件标签页必须紧邻其右侧(即 Tab 顺序为:[file1] → [file2])
- 如果开了三个以上标签页,中间夹了其他文件,
Compare会静默失败——它只取“当前页 + 下一页”,不管后面还有没有
对比结果全是红/全蓝,或显示“Files are identical”但明显不同?
Compare 插件不做编码转换,它比的是原始字节流。一个 UTF-8(无 BOM)、一个 GBK,哪怕内容一模一样,也会被标成全差异;而一个带 BOM、一个不带,也足以让整行偏移。
- 务必统一编码:右键任一标签页 →
编码 → 转为 UTF-8 without BOM,两个文件都执行一遍 - 检查状态栏右下角,确认两个文件都显示
UTF-8 without BOM(不是UTF-8,也不是ANSI) - 保存后再比:任一标签页标题含
*(未保存),Compare 可能跳过或误判 - 默认开启
Ignore blank differences(在Plugins → Compare → Options里),它会忽略纯空格、制表符、换行符差异——Git 提交前想确认空格改动?必须取消勾选
Alt+N/P 跳不到差异块,或高亮看不清?
Compare 的差异导航依赖快捷键,不靠侧边栏滚动条联动;高亮样式由主题控制,但默认可能太淡。
- 启动比对必须用
Alt+D(不是菜单里的Compare),状态栏左下角应立刻显示Lines differ: X -
Alt+N是跳“下一个差异块”,不是下一行;块内可能包含多行增删改,光标停在块首行开头 - 若高亮不明显:进入
设置 → 样式配置器 → 语言: Global Styles → 样式: DIFF_LINE,调亮背景色 - 大文件(>5MB 或 >10 万行)容易卡死,建议先用
视图 → 移动/复制到另一视图并排粗筛,再针对性比关键段落
最易被忽略的一点:Compare 插件不处理文件夹、不识别新增/删除文件、不支持导出差异报告。它只做两个已打开文本文件的逐行字符串比对——把这一定位搞错,所有操作都会南辕北辙。


















