Notepad++ 文件变更检测默认关闭,需手动开启:设置 → 首选项 → 通用 → 勾选“启用文件状态自动检测”;仅对当前已打开文件生效,每2秒轮询mtime,非实时监听。

Notepad++ 文件变更检测开关在哪
默认不开启,必须手动打开。很多人改了外部文件却没反应,就是卡在这一步。
路径是:设置 → 首选项 → 通用 → 文件状态自动检测,勾选 启用文件状态自动检测 即可。
- 这个选项只影响“当前已打开的文件”,新打开的文件会继承该设置
- 勾选后,Notepad++ 会在后台每 2 秒轮询一次文件修改时间(mtime),不是实时监听
- 如果文件被其他程序独占写入(比如日志滚动、IDE 编译输出),可能暂时读不到变化,属于正常行为
“文件已更改,是否重新加载?”弹窗不出现的常见原因
开了自动检测,但弹窗就是不弹——多半是触发条件没满足或被静默处理了。
-
文件未聚焦:只有当前活动标签页的文件变更才会触发提示;切到别的标签或最小化窗口时,变更会被缓存,等你切回来才弹 -
文件处于“只读”模式:右键标签页点“设为只读”后,Notepad++ 认为你不打算编辑它,连检测都跳过 -
文件路径含中文或特殊符号:旧版 Notepad++( -
插件冲突:比如NppFTP或Explorer插件有时会劫持文件状态逻辑,可临时禁用插件验证
如何让 Notepad++ 在后台也及时响应变更
默认轮询间隔是 2 秒,但你可以调得更密,代价是磁盘 I/O 略微升高。
修改配置文件:C:\Users\{用户名}\AppData\Roaming\Notepad++\config.xml,找到 <GUIConfig name="fileStatusAutoDetection" enable="yes" interval="2000"/>,把 interval 改成 500(单位毫秒)。
- 低于 500ms 不建议,Windows 文件系统对高频 stat 调用有延迟和抖动
- 修改后需重启 Notepad++ 才生效,仅重载配置不行
- 如果同时打开上百个文件,缩短间隔会导致 CPU 占用小幅上升,普通用户无感
为什么改了代码文件,Notepad++ 却说“文件未更改”
本质是 Notepad++ 比较的是文件内容哈希 + 修改时间,但某些操作会让这两者不同步。
-
Git checkout / switch branch:部分 Git 配置会复用 inode,只改内容不改 mtime,Notepad++ 可能漏检 -
编辑器保存时用了“备份+替换”策略(如 Vim 的backupcopy=no),原文件被删再新建,Notepad++ 会认为是“新文件”,丢失关联 -
网络盘或 WSL 路径:SMB/CIFS 或 WSL2 的 /mnt/c/ 下文件,mtime 可能不准,检测失效概率高
遇到这类情况,别依赖自动检测,直接按 Ctrl+R 手动重载更可靠。

















