notepad++恢复上次会话需同时满足三个条件:界面勾选“每次启动时恢复上次会话”、config.xml中restoresession=1且saveopenfiles=yes、rememberlastsession=yes,以及session.xml完好;缺一不可,否则静默失败。

确认会话恢复功能是否真被启用
Notepad++ 不会默认恢复上次关闭的文件,必须同时满足三个条件:界面勾选、config.xml 里对应值为 1 或 yes、session.xml 文件完好。只在「备份」页勾选「每次启动时恢复上次会话」远远不够——很多人改完设置重启,还是开空白窗口,就是因为 config.xml 里 restoreSession 实际是 0。
打开 %APPDATA%\Notepad++\config.xml,查找以下三行并确保它们都存在且值正确:
<guiconfig name="restoreSession">1</guiconfig><guiconfig name="SaveOpenFiles">yes</guiconfig><guiconfig name="RememberLastSession">yes</guiconfig>
改完后必须彻底退出 Notepad++:右键托盘图标 → 「退出」,或用任务管理器杀掉所有 notepad++.exe 进程。否则新配置不生效。
session.xml 损坏或被覆盖怎么办
session.xml 是唯一记录“上次打开了哪些文件”的文件,它不加密、不压缩,就是纯 XML。一旦被新会话覆盖或写入异常,Notepad++ 就静默失败——不开提示、不报错、也不加载任何标签页。
立即停止操作:不要新建文件、不要打开其他文档,避免触发新一轮会话写入。
用 VS Code 或记事本打开 %APPDATA%\Notepad++\session.xml,搜索你记得的文件名或路径片段。如果内容断裂(比如开头没 、中间有乱码、结尾缺 ),说明已损坏:
- 检查回收站,看是否有旧版
session.xml - 若装过「Session Manager」插件,去
%APPDATA%\Notepad++\plugins\config\SessionManager\找带时间戳的 XML 备份 - 重命名当前
session.xml为session.xml.bak,再启动 Notepad++,它会尝试重建一个空会话
崩溃后未保存内容在哪找
未保存的文本内容不存于 session.xml,而是在 %APPDATA%\Notepad++\backup\ 下的 recovery_*.tmp 文件里。这些是二进制内存快照,不能直接双击打开,也不能用 Recode 等插件读取。
正确恢复流程只有两条路径:
- 启动 Notepad++ 后等几秒,左下角弹出灰色提示条「恢复上次会话?[是] [否]」→ 点「是」
- 若没弹窗,手动执行菜单:文件 → 会话恢复 → 恢复上次会话(该选项灰显 = 快照不存在或已损坏)
注意:recovery_*.tmp 只在异常退出(崩溃、断电、强制 kill)时生成;主动点击「退出」且没保存,就不会写这个文件。
backup 目录里的 .bak 文件能恢复标签页吗
不能。.bak 文件只保存「已保存文件」在「最后一次保存前」的内容状态,和标签页数量、哪个文件在前台、是否新建未命名文档完全无关。
它只在以下三个条件同时满足时生成:
- 启用了「启用会话快照和后备副本」
- 文件曾被修改过(只查看不会触发)
- 修改后没再次保存(否则旧
.bak被覆盖)
新建的 new 1 标签页,哪怕写了 500 行,只要没点保存,关掉就彻底消失——.bak 目录里不会有它,recovery_*.tmp 也不会有它,除非那次关闭是异常崩溃。











