notepad++恢复上次会话需同时满足config.xml中restoresession=1、saveopenfiles=yes、rememberlastsession=yes,且session.xml完好;缺一不可,否则静默失败。

Notepad++ 默认不会自动恢复上一次关闭时的所有文件,必须手动开启两个底层开关,缺一不可。
为什么勾选了「每次启动时恢复上次会话」还是不生效
常见错误是只改了界面设置,没确认 config.xml 中的真实状态。Notepad++ 的会话恢复由两个独立配置项联合控制:restoreSession 和 SaveOpenFiles。哪怕你在「备份」页勾了选项,如果 config.xml 里 restoreSession 值为 0,或者 SaveOpenFiles 是 yes 但 RememberLastSession 是 no,都会静默失败。
- 打开
%APPDATA%\Notepad++\config.xml,查找并确认存在<guiconfig name="restoreSession">1</guiconfig> - 同时检查
<guiconfig name="SaveOpenFiles">yes</guiconfig>和<guiconfig name="RememberLastSession">yes</guiconfig> - 改完必须彻底退出 Notepad++:右键托盘图标 → 「退出」,或任务管理器杀掉所有
notepad++.exe进程 - 部分安装方式(如管理员权限运行过)可能导致配置写入
C:\Program Files\Notepad++\config.xml,需同步检查该路径
session.xml 损坏或被覆盖后还能抢救吗
session.xml 是唯一记录上次打开哪些文件的文件,它不加密、不压缩,就是纯 XML。一旦被新会话覆盖或写入异常,Notepad++ 就无法加载——它不会报错,也不会提示,只是安静地开一个空白窗口。
- 立即停止操作:不要新建文件、不要打开其他文档,避免触发新的会话写入
- 用记事本或 VS Code 打开
%APPDATA%\Notepad++\session.xml,搜索你记得的文件名或路径片段 - 如果内容已损坏(标签乱码、格式断裂),尝试从回收站还原旧版
session.xml - 若装过「Session Manager」插件,检查
%APPDATA%\Notepad++\plugins\config\SessionManager\下带时间戳的 XML 备份 - 重装 Notepad++ 不会重建
session.xml,系统还原点也通常不备份这个文件
启用会话快照后,backup 目录里的 .bak 文件能恢复标签页吗
不能。.bak 文件是内容备份,不是会话备份。它只保存你修改过的已保存文件在「上次保存前」的状态,和打开了几个标签页、哪个在前台完全无关。
-
.bak只在「启用会话快照和定期备份」+「文件被修改过」+「未被覆盖保存」三个条件同时满足时生成 - 新建未命名文档(
new 1)默认不生成.bak,即使写了 1000 行,关掉就没了 -
backup目录路径固定为%APPDATA%\Notepad++\backup\,文件名含时间戳,如myfile_backup_20260517_221433.txt - 误关标签页 ≠ 误删内容,别指望翻
.bak找回刚关掉的那个标签——它压根没被记录
真正决定能否恢复上一次所有文件的,只有 session.xml 是否完好,以及 config.xml 中那三行配置是否同时为 1 或 yes。其他路径都是绕远路,甚至走错方向。











