notepad++无原生工作区概念,仅靠启用“会话快照和周期性备份”+“记住当前会话”+local history插件,配合默认备份路径与禁用云同步,才能可靠恢复标签页、光标及未命名文件。

Notepad++ 本身没有“工作区”概念,不能像 VS Code 那样保存多文件夹结构并持久化配置;它能保存的只是当前窗口里所有打开的标签页(含未保存文件)的状态,靠的是「会话快照」机制,且必须手动开启、路径敏感、崩溃后才触发恢复。
Notepad++ 的「保存会话」实际指 Session snapshot 功能
很多人搜“保存工作区”,其实是想下次启动时自动还原所有打开的文件和光标位置。Notepad++ 实现这个目标的唯一可靠方式是启用 Session snapshot and periodic backup,而不是依赖「退出时备份」或「记住当前会话为工作区」这类易被误解的选项。
-
Remember current session for next launch这个勾选项只控制「是否在正常退出时记录当前状态」,但真正起作用的是它背后的周期性快照——没它,崩溃后就什么也恢复不了 - 快照默认每 15 分钟写一次,间隔可调(最小 1 分钟),但设太短(如 1 分钟)开 30+ 个大文件时,
notepad++.exe可能卡顿或写入失败 - 快照文件存在
%APPDATA%\Notepad++\backup\下,核心是session.xml和一堆recovery_*.tmp;别手动删,否则恢复弹窗直接消失 - 未命名的新建文档(如
new 1)也能被存进快照,内容完整保留,这是退出时备份做不到的
为什么「记住当前会话为工作区」经常失效
这个选项名字有误导性:它不生成 .code-workspace 文件,也不保存任何配置或文件夹层级,只是让 Notepad++ 在「正常退出」时把当前标签页列表记进 session.xml。但以下情况会导致它完全不生效:
- Notepad++ 被任务管理器强制结束、蓝屏、断电——此时根本来不及写
session.xml,只能靠周期性快照兜底 - 备份路径设成 OneDrive / iCloud / 腾讯微云 同步目录——这些工具会锁住
session.xml,Notepad++ 写入失败且静默跳过,无提示 - 路径含中文、空格或
&符号(比如D:\My Projects\)——Simple backup 可能创建失败,session 快照也可能中断 - 勾了
Remember current session for next launch却没勾Session snapshot and periodic backup——等于只记了“退出前那一刻”,毫无容错能力
真正防丢的组合配置(实测有效)
仅靠界面勾选远远不够,必须同步检查路径、权限和插件协同。以下是稳定运行半年以上的本地配置:
- 设置 → 首选项 → 备份 → 勾选:
Session snapshot and periodic backup、Remember current session for next launch、Enable backup+With timestamp - 备份路径保持默认(即
%APPDATA%\Notepad++\backup\),不改;若需迁移,只设到纯英文无空格本地路径,如C:\npp-backup\ - 安装
Local History插件(通过 Plugin Admin),它会在每个文件所在目录生成.history/,按分钟存变更,右键就能Compare with previous version - 禁用所有同步盘对
%APPDATA%\Notepad++\的监控——OneDrive 的「按需文件」功能尤其危险,会把session.xml变成占位符
最常被忽略的一点:Notepad++ 的会话恢复只在「异常退出后首次启动」时弹窗询问,正常退出再打开不会自动还原——你得真遇到一次崩溃,才能确认这套机制是不是真在干活。











