notepad++无真正自动保存功能,仅支持退出备份、会话快照和autosave插件三种机制;退出备份仅对已命名文件生效且崩溃时无效,会话快照是崩溃恢复唯一可靠方式,autosave插件可定时或失焦时保存原文件,但需谨慎配置以防误覆盖。

Notepad++ 本身不支持真正意义上的自动保存(即定时把编辑内容写回原文件),所谓“自动保存”其实是会话快照或退出备份,不能替代你按 Ctrl+S。想防丢代码,必须分清三件事:什么时候存、存成什么、崩溃后能不能拿回来。
「退出时备份」只在正常关机前生效,崩溃就失效
这个功能藏在 设置 → 首选项 → 备份 → 退出时备份,但它有硬性限制:
- 仅对已保存过路径的文件起作用,
new 1这类未命名文档不会生成任何.bak - 只读文件、路径不存在、磁盘无写权限时,备份静默失败,不报错也不提醒
- Notepad++ 崩溃、蓝屏、被任务管理器强制结束,它根本来不及执行退出流程,备份压根不会触发
- 备份文件默认放在安装目录下的
backup子目录,比如C:\Program Files\Notepad++\backup\,但 Windows 系统盘下该路径常因权限问题写入失败
「会话快照与周期性备份」才是崩溃恢复的关键
这才是 Notepad++ 对抗意外关闭的唯一可靠机制,开关在 设置 → 首选项 → 备份 → 启用会话快照和周期性备份,但要注意:
- 必须同时勾选
记住当前会话为工作区,否则下次启动不会弹恢复提示 - 间隔最小只能设为 1 分钟,不能填 0;设太短(如 30 秒)可能拖慢响应,尤其打开 20+ 个大文件时
- 快照存在
%APPDATA%\Notepad++\backup\下,文件名类似session.xml和recovery_*.tmp,别手动删 - OneDrive、腾讯微云等同步盘会锁住这些文件,导致写入失败,恢复失效;建议用纯英文、无空格、非同步的本地路径,比如
C:\npp-backup\
真要定时写回原文件,得靠 AutoSave 插件
官方不提供自动保存原文件的功能,必须装插件:菜单 → 插件 → 插件管理 → 搜索 AutoSave → 安装。重启后配置要点:
-
Auto Save When推荐选Focus Lost(切出窗口就保存),比Periodically更及时且不易冲突 -
Auto Save What务必选Current File Only,避免误存一堆未命名标签页 -
Save Untitled Files To如果勾了“保存无名文件”,必须指定一个明确路径,否则可能静默失败 - 不推荐在生产环境长期开启“覆盖原文件”式自动保存,手抖改错后可能连后悔机会都没有
别把 .bak 文件当成版本历史来用
很多人以为开了 Backup on save 就等于留了多个历史版本,其实不是:
-
Backup on save是每次你按Ctrl+S时,才生成一份快照,不是后台定时跑的 -
With timestamp生成带时间戳的独立文件(如main.py_20260522_162011.bak),Simple backup则只留一个main.py.bak覆盖更新 - 它解决的是“刚删错一段代码,想回退上一版”,不是“防断电丢内容”——这两件事的技术路径完全不同
- 真正需要多版本追溯,应该用 Git 或 Local History 插件,后者会在每个文件目录下建
.history/存分钟级快照
最易被忽略的一点:Notepad++ 的所有“备份”都是被动触发或事件驱动的,没有后台守护进程持续监听修改。把它当 Word 那样的自动恢复用可以,但指望它替代版本控制、定时归档或协作同步,一定会在某个周五下午三点突然发现刚写的 200 行逻辑没了。











