Notepad++无真正自动备份,防丢需组合机制:启用会话快照+记住当前会话为工作区可崩溃恢复;退出时备份仅限手动关闭且限制多;AutoSave插件支持失焦保存但不防崩溃;运行前保存须用NppExec注入save命令。

Notepad++ 没有真正意义上的“自动备份”——你勾选的每个选项,背后触发的是完全不同的机制,防丢效果天差地别。不区分清楚就乱配,等于把鸡蛋全放一个篮子里,崩溃、断电、强制杀进程时大概率白忙。
「退出时备份」只在点关闭按钮时才起作用
这个选项藏在 设置 → 首选项 → 备份 → 退出时备份,但它根本防不住意外:Notepad++ 崩溃、蓝屏、被任务管理器结束、断电,它连执行的机会都没有。
- 仅对已保存过路径的文件生效,
new 1这类未命名文档完全不处理 - 只读文件、磁盘满、路径权限不足时静默失败,不报错也不提醒
- 默认备份路径是
C:\Program Files\Notepad++\backup\,Windows 系统盘下常因 UAC 权限写入失败 - 备份文件名格式为
原文件名_年月日_时分秒.bak,但必须同时勾选以时间戳为备份文件名,否则连续退出会覆盖前一个
「会话快照」才是崩溃后能拿回内容的唯一指望
开关在 设置 → 首选项 → 备份 → 启用会话快照和周期性备份,它不依赖你是否点了关闭按钮,而是后台定时把所有打开文档(含 new 1)的内容存成 session.xml 和 recovery_*.tmp 文件。
- 必须同时勾选
记住当前会话为工作区,否则下次启动不会弹恢复提示,快照等于白存 - 最小间隔只能设为 1 分钟,填 0 无效;设太短(如 30 秒)开 20+ 个大文件时可能卡顿或写入失败
- 快照默认存在
%APPDATA%\Notepad++\backup\,别手动删,也别放 OneDrive / 微云等同步盘里——锁文件会导致写入失败 - 它不生成
.bak,也不覆盖原文件,只是崩溃后恢复用的缓存,和你期待的“历史版本”无关
想让内容真写回原文件?只能靠 AutoSave 插件
Notepad++ 官方不提供直接覆盖原文件的自动保存功能,AutoSave 是目前唯一稳定、跨平台、被 Plugin Admin 官方收录的方案。
- 安装路径:
菜单 → 插件 → 插件管理 → 搜索 AutoSave → 安装 → 重启 - 关键配置:
Plugins → AutoSave → Options…中,Auto Save When推荐选Focus Lost(切出窗口就保存),比Periodically更及时;Auto Save What务必只勾Current File Only -
Save Untitled Files To如果启用,必须填绝对路径(如C:\temp\),留空会导致新建文件静默失败 - 它直接覆盖原文件,没有撤销、无版本比对、不生成
.bak,一次失焦就可能把语法错误写进nginx.conf这类关键配置
运行代码前自动保存,得自己搭链路
Notepad++ 的 F5 或 Ctrl+F5 不会检查文件是否已保存,所谓“运行前自动保存”必须靠插件注入动作。
- 用
NppExec:新建脚本,第一行写save,第二行再调解释器,例如:save+npp_run python "$(FULL_CURRENT_PATH)" -
save命令容易静默失败:当前文件只读时跳过;new 1执行save会中断脚本;路径含空格或中文时建议用"$(FULL_CURRENT_PATH)"引用 - 别指望
AutoSave插件替代——它响应失焦或定时,和F5完全无关;开了反而可能在调试中途误覆盖文件 - 真正防丢的关键不在“运行前”,而在“崩溃后还能不能拿回来”:必须同时启用
会话快照和记住当前会话为工作区
最危险的配置,是以为勾了某个“自动”就万事大吉。实际中,路径权限、同步盘锁文件、未命名文档处理、只读属性、插件间冲突……这些细节全都不报错,全靠静默跳过。防丢不是靠一个开关,而是靠理解每种机制的边界,并把它们组合成有冗余的防线。











