notepad++无实时自动保存,仅支持退出备份和周期性备份;需手动启用“退出时备份”和“会话快照”,搭配local history插件及手动保存才能有效防丢代码。

Notepad++ 的自动备份功能藏在「首选项」里,但默认不开启
Notepad++ 本身没有“实时自动保存”或“后台定时备份”功能,它提供的其实是「退出时自动备份」——即关闭文件前,把当前未保存的修改内容写入一个备份文件。这个功能必须手动启用,且只对已保存过的文件(即有真实路径的文件)生效,新建未命名的文档(如 new 1)不会触发备份。
启用路径:设置 → 首选项 → 备份 → 勾选「退出时备份」,并建议同时勾选「以时间戳为备份文件名」,避免被覆盖。
- 备份目录默认是 Notepad++ 安装目录下的
backup子目录(如C:\Program Files\Notepad++\backup\),可点击右侧「浏览」按钮自定义 - 备份文件名格式为
原文件名_年月日_时分秒.bak,例如main.py_20240520_143211.bak - 如果原文件是只读的、路径不存在、或磁盘无写入权限,备份会静默失败,不会弹提示
真正防代码丢失,得靠「自动保存」+「本地历史」组合
仅靠退出备份远远不够:意外崩溃、断电、强制杀进程时,Notepad++ 来不及执行退出流程,备份根本不会生成。这时候需要两个补充机制:
-
设置 → 首选项 → 备份 → 勾选「启用会话快照和周期性备份」,然后设置「周期性备份间隔(分钟)」,比如设为5。它会在后台每 5 分钟把所有打开的文档内容(包括未命名的新建文档)存到session.xml和临时备份区 -
设置 → 首选项 → 备份 → 勾选「记住当前会话为工作区」,这样下次启动时能还原全部打开的标签页和光标位置 - 额外推荐插件:
Local History(通过 Plugin Admin 安装),它会在每个文件所在目录下生成.history/子目录,按分钟级记录变更快照,支持右键「Compare with previous version」回溯
别忽略「自动保存」和「备份」的本质区别
很多人混淆这两个概念,导致误以为开启了备份就等于不会丢代码——其实完全不是一回事:
-
自动保存(Auto-save)是把当前编辑内容直接写回原文件(覆盖原内容),风险高,且 Notepad++ 官方版本不提供该功能(需插件如AutoSave,但不推荐用于生产代码) -
备份(Backup)是另存为新文件(.bak 或 .xml),不影响原文件,安全但依赖触发时机(退出 / 周期性) - Windows 系统休眠、蓝屏、Notepad++ 卡死无响应时,
周期性备份可能已滞后几分钟,Local History的分钟级快照更可靠 - 如果用云同步工具(如 OneDrive、Syncthing),注意避开
backup目录和.history/目录,否则可能引发冲突或无限同步循环
崩溃后怎么找回最新代码?顺序查这三处
Notepad++ 意外关闭后,不要急着重开,先按顺序检查以下位置,越往后的内容越可能更新:
- 重启 Notepad++,看是否弹出「恢复上次会话」提示(来自
session.xml) - 检查你设置的备份目录,找最新时间戳的
.bak文件(对应你最后关闭的文件) - 进入你编辑的源文件所在目录,打开
.history/子目录,按文件名和修改时间排序,找最近的.zip或文本快照文件(Local History插件生成) - 若以上全无,且你启用了 Windows 文件历史记录或第三方备份工具,可尝试从系统层面恢复该文件的旧版本
最易被忽略的一点:周期性备份和 Local History 都依赖 Notepad++ 正常运行才能写入。一旦进程僵死,它们就停摆了——所以关键代码写完后手动按 Ctrl + S,仍是不可替代的动作。











