必须同时设置"hot_exit": false和"remember_open_files": false,并删除Session.sublime_session文件,否则即使配置正确仍会恢复旧文件;插件如ProjectManager可能接管启动流程,且需确保Sublime完全退出(包括托盘进程)后操作。

Sublime 启动时仍加载旧文件,不是配置没改对,而是会话文件还在、插件在接管、或者进程没真正退出。
为什么改了 remember_open_files 还是恢复旧文件?
因为 remember_open_files 只是“是否还原”的开关,但它不负责清空历史状态。只要 Session.sublime_session 文件存在且非空,Sublime 就会在启动时尝试读取它——哪怕你已把 remember_open_files 设为 false。
-
hot_exit必须设为false:设成true会让 Sublime 在退出时不真正释放状态,反而强化会话残留 -
remember_open_files必须设为false:这是唯一决定“要不要还原标签页”的开关,其他如restore_open_folders都只是展示逻辑 - 插件可能绕过设置:比如
ProjectManager或QuickOpenProjects会主动加载最近项目,优先级高于原生设置 - 托盘进程未退出:Windows/macOS 下右下角/菜单栏图标还在,说明 Sublime 没真正退出,会话不会刷新或清空
删哪个 Session.sublime_session 文件才有效?
必须删对路径,且确保 Sublime 已完全退出(包括后台进程),否则文件被锁住或重启后又被重写。
- Windows:
%APPDATA%\Sublime Text 3\Local\Session.sublime_session - macOS:
~/Library/Application Support/Sublime Text 3/Local/Session.sublime_session - Linux:
~/.config/sublime-text-3/Local/Session.sublime_session
顺手也删掉同目录下的 Auto Save Session.sublime_session,它是 Sublime 定期生成的快照,也可能被误读。
命令行 subl --new-window 能绕过所有设置吗?
能,而且最干净。这个参数直接跳过会话加载流程,不读 Session.sublime_session,不查插件钩子,也不管你 JSON 里写了什么。
- Windows:用
subl.exe --new-window(确保已加到 PATH) - macOS/Linux:用
subl --new-window - 可绑定为快捷方式或终端别名,适合隐私敏感场景或临时调试
注意:它只影响当次启动,不改变任何配置或文件。
最容易被忽略的细节
很多人改完设置就重启,发现还是加载旧文件,然后反复检查 JSON 格式——其实问题出在没关干净进程,或删错了路径(比如删了 Default 设置里的 Session 文件,或只删了 Project 目录下的缓存)。真正的生效链是:配置关开关 + 进程真退出 + 会话文件物理删除,三者缺一不可。插件干预和路径拼错,是排查时最常卡住的两个点。

















