“最近项目”菜单清不掉,是因为它完全来自Session.sublime_session文件的recent_workspaces字段,必须彻底退出软件后用外部编辑器清空该数组,并同步处理file_history和recent_files字段,或禁用hot_exit与remember_open_files。

“最近项目”菜单清不掉,是因为它根本不在菜单缓存里
Sublime Text 的 Project → Recent Projects 菜单项显示的内容,**完全来自 Session.sublime_session 文件里的 recent_workspaces 字段**,不是内存临时缓存,也不是插件维护的独立列表。你点菜单里的“Clear Recent Files”,对它毫无影响;用命令面板执行 clear_recent_files,也只动 recent_files,不动 recent_workspaces。
常见错误现象:重启后“最近项目”照常弹出;关掉 Sublime 再开,列表还是老样子;甚至删了整个 Packages 目录都没用——因为源头没碰。
- 必须彻底退出 Sublime Text(Windows 查任务管理器里
subl.exe和sublime_text.exe是否残留;macOS 看菜单栏图标是否消失) - 不能用 Sublime 自己打开
Session.sublime_session,否则文件被锁,修改会被覆盖或 JSON 损坏 - 路径因系统而异:
%APPDATA%\Sublime Text\Local\Session.sublime_session(Windows)、~/Library/Application Support/Sublime Text/Local/Session.sublime_session(macOS)、~/.config/sublime-text/Local/Session.sublime_session(Linux)
手动清空 recent_workspaces 数组才是唯一有效方式
用记事本、VS Code 等外部编辑器打开 Session.sublime_session,搜索 "recent_workspaces",把它改成空数组:
"recent_workspaces": []
注意 JSON 格式合法性:
- 确保该行末尾没有多余逗号(尤其前面有其他字段时)
- 引号闭合,方括号配对
- 顺手检查并清空
"file_history": []和"recent_files": [],避免项目相关上下文残留
保存后重启 Sublime,菜单即为空。别指望“Project → Clear Recent Projects”——原生没有这个命令,ST4 默认安装里查不到 clear_recent_projects,执行会报错 Unknown command: clear_recent_projects。
想一劳永逸?关掉会话持久化机制
删文件是救火,关源头才能防止反复积累。Sublime 的历史记录本质是会话快照机制在起作用,不是某个独立开关控制的。
打开 Preferences → Settings(用户设置),添加这两行:
"hot_exit": false,<br>"remember_open_files": false
效果:
- 退出时不保存任何状态:未关闭标签页、光标位置、折叠状态、控制台输入全部丢弃
-
Session.sublime_session文件将始终为空或极小,recent_workspaces不再写入 - 副作用:下次启动不会恢复上次窗口布局,但换来的是真正干净的启动态
为什么侧边栏双击文件夹 / 拖入项目目录不进“最近项目”?
Sublime 只把通过 Project → Open Project… 或命令行 subl --project 显式打开的 .sublime-project 文件,或明确选中的项目根目录路径,记入 recent_workspaces。侧边栏双击文件夹、拖入任意目录、甚至用 File → Open Folder… 打开的,都算作“普通文件夹浏览”,不触发项目上下文,也不写入该数组。
所以如果你发现某个项目死活不出现在“最近项目”里,大概率是你根本没用对打开方式——这不是 bug,是设计如此。
真正麻烦的不是操作步骤多,而是 Session.sublime_session 被锁住却没报错,改了白改;或是清空了 recent_workspaces 却忘了检查 file_history 里还藏着项目内文件路径,导致某些插件仍能回溯。动手前务必确认进程已净、编辑器非自身、JSON 无语法错。


















