.sublime-workspace 文件存储光标位置、折叠状态、选区、搜索高亮、语法模式等完整编辑状态;需通过 Project → Save Workspace As… 手动保存,且仅在退出或显式保存时更新。

Sublime Text 的 .sublime-workspace 文件到底存了什么
它不是简单的“打开哪些文件”的快照,而是完整记录了每个标签页的光标位置、折叠状态、选区、高亮搜索项、甚至当前使用的语法高亮模式。关闭 Sublime 后再双击项目文件夹,若没生成 .sublime-workspace,下次打开就只能看到空窗口或默认文件——因为 Sublime 默认不自动保存工作区状态。
手动保存和复用 workspace 的正确姿势
别依赖“File → Save Project As…”——那只是保存 .sublime-project(项目配置),和 workspace 无关。真正保存当前编辑状态,必须触发:Project → Save Workspace As…,然后存为 xxx.sublime-workspace。之后可通过以下任一方式恢复:
- 双击该
.sublime-workspace文件(需 Sublime 已设为默认打开程序) - 命令面板输入
Workspace: Open Workspace并选择文件 - 拖拽
.sublime-workspace到 Sublime 窗口内
注意:如果当前已有未保存修改的文件,Sublime 会先提示保存,否则可能丢掉部分编辑状态。
多个 workspace 冲突?关键看 project 绑定关系
一个 .sublime-project 可以对应多个 .sublime-workspace(比如“debug”版、“review”版、“wip”版),但 Sublime 默认只读取与项目同名的 workspace(如 myapp.sublime-project 对应 myapp.sublime-workspace)。想让 Sublime 加载特定 workspace,必须在 .sublime-project 中显式指定:
{
"folders": [
{
"path": "."
}
],
"settings": {
"hot_exit": true,
"remember_open_files": true
},
"workspace": "myapp-debug.sublime-workspace"
}
否则 Sublime 会忽略你手动保存的其他 workspace 文件,只加载默认命名的那个。
为什么改了文件却没反映在 workspace 里
Sublime 不实时写入 .sublime-workspace,它只在退出时(且启用了 hot_exit)或执行 Save Workspace 时才落盘。常见误操作:
- 关掉窗口前没等 Sublime 完成退出(比如强制 kill 进程)→ workspace 丢失最后状态
- 启用了
"hot_exit": false→ 即使设置了remember_open_files,也不会生成或更新 workspace - 在多实例运行时(比如两个 Sublime 窗口同时打开同一项目)→ 只有最后一个退出的窗口会写入 workspace,覆盖之前所有改动
workspace 的本质是“退出快照”,不是“实时同步数据库”。真要靠它还原现场,就得接受它只忠于最后一次干净退出的状态。










