切换项目时是否关闭旧窗口取决于隔离需求与响应速度;默认不关闭,保留未保存标签和断点;启用close_windows_on_project_switch可彻底隔离但增加延迟;推荐手动关闭项目后重开并确保workspace与project一一绑定。

切换项目时要不要关掉旧窗口,取决于你想要的隔离程度和响应速度——不是“该不该”,而是“你当前场景需要哪一种行为”。
ProjectManager 的 Switch Project 默认不关标签
按 Ctrl+Alt+P 切换项目,本质是调用 Sublime 原生的 project_open 命令。它不会主动关闭旧文件、清空分屏、重置断点或丢弃未保存内容。现象包括:
- 旧项目的未保存标签还在,右下角显示“modified”但不属于当前项目
- 分屏布局被复用,新项目文件可能挤进旧窗格里
- 调试插件(如 SublimeGDB)的断点位置仍保留在内存中,容易误触发
这不是 bug,是 Sublime 对 workspace 的复用逻辑。如果你习惯“一个窗口一个项目”,这种行为就是干扰源。
启用 close_windows_on_project_switch 后的新窗口模式
在 ProjectManager.sublime-settings 中设为 true,每次切换都会新开窗口、关闭旧窗口。好处是彻底隔离,坏处也很实在:
- 20+ 标签的前端项目,新开窗口平均多耗 800ms~1.2s(实测 Build 4200 + Windows 11)
- 频繁切换时,任务栏图标快速增减,视觉干扰大
- 若没配
"max_recent_projects": 15,项目菜单会加载全部历史项,呼出面板延迟明显
这个选项适合“项目间完全无关”的场景,比如同时开发 Vue 应用和 Python 爬虫脚本,彼此不共享依赖、不共用终端。
真正干净的切换:手动关 + 重开 + 指定 workspace
如果既不想忍受残留标签,又不愿承受新开窗口的延迟,推荐组合操作:
- 先执行
Project → Close Project(清空当前 workspace) - 再用
Project → Open Project或Ctrl+Alt+P加载目标项目 - 确保每个项目都有独立的
.sublime-workspace文件,并且"remember_open_files": true开启
这样能复原光标位置、折叠状态、书签,又不会把上个项目残留的调试上下文带进来。关键点在于:workspace 文件必须和项目文件一一绑定,不能多个项目共用同一个 .sublime-workspace。
最易被忽略的是 workspace 和 project 文件的耦合关系——删掉 .sublime-workspace 后只保留 .sublime-project,下次打开就只剩空目录树,所有编辑状态全丢。别指望“关掉窗口再重开”能自动恢复,Sublime 只认 workspace 文件里存的那套快照。


















