sublime 的“工作区布局”实为 project、workspace 和 layout 三者协同状态:project 管理文件夹路径,workspace 记录打开文件及光标位置,layout 控制窗口分组结构;三者需分别保存才能完整还原开发环境。

Sublime 的“工作区布局”到底指什么?
Sublime 里没有叫“工作区布局”的独立概念,用户常混淆的其实是三个东西:Project(项目)、Workspace(工作区文件)、Layout(窗口分组结构)。它们各自保存不同维度的状态:
- Project 定义“管哪些文件夹”,靠 .sublime-project 文件;
- Workspace 记录“当前打开了哪些文件、在哪个 group、光标在哪”,靠 .sublime-workspace 文件;
- Layout 描述“窗口被切成几行几列”,比如两栏或 2×2 网格,由 JSON 结构控制。
三者不自动联动。只保存 Project,不会记住你刚切好的左右分屏;只关掉再重开,若没启用 hot_exit,连打开的标签页都会丢。
怎么真正保存一次完整的开发环境?
你要的“保存布局”,本质是把这三件事打包固化下来:
-
- 确保
"hot_exit": true 和 "remember_open_files": true 在 Preferences → Settings 用户配置里已开启;
- 用
Project → Save Project As… 把当前文件夹存为 myapp.sublime-project(建议放在项目根目录);
- 手动添加其他关联目录:右键侧边栏 →
Add Folder to Project;
- 调好窗口布局(如 View → Layout → Columns: 2),再打开要编辑的文件并拖进对应 panel;
- 最后执行
Project → Save Workspace As…,命名为 myapp-dev.sublime-workspace。
这样下次双击这个 .sublime-workspace 文件,就能还原项目路径 + 所有打开的文件 + 分屏结构 + 光标位置。
为什么快捷键设了 layout 却不生效?
常见错误是把 set_layout 命令和“保存当前状态”混为一谈。它只改窗口划分,不恢复文件或 project:
-
- 快捷键绑定必须写全 JSON 结构,漏掉
cols 或 cells 字段会静默失败;
- 命令面板搜
Set Layout 只列出预设(如 2 Columns),自定义结构只能靠键位绑定触发;
- 执行
set_layout 后,已有文件不会自动挪到新 group —— 得手动拖或用 Move File to Group 命令;
- 如果当前只有一个未保存的临时文件(
untitled),切 layout 后右列可能看起来“空”,其实是它默认只在 active group 显示该文件。
示例键位(Windows/Linux):
[ { "keys": ["ctrl+alt+shift+2"], "command": "set_layout", "args": { "cols": [0.0, 0.5, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1]] } } ]Project Manager 插件能省多少事?
它不解决 layout 保存问题,但极大缓解 project 切换混乱:
-
- 自动扫描磁盘上所有
.sublime-project 文件,不用手动去菜单里找;
-
Project → Edit Projects 可集中增删、分类、加描述,避免 project 文件散落在各处;
- 快捷键
Ctrl+Alt+P 调出模糊搜索,输中文名/路径片段就能跳转,比原生 Project: Switch Project(只列最近打开的)实用得多;
- 它的项目数据默认存在
Packages/User/Projects/,不污染你的源码目录,迁移配置时也干净。
但注意:它不管 .sublime-workspace,也不管 layout 快捷键。想一键回到“前端开发态”(含 project + workspace + layout),目前仍需三步操作,没有银弹。
"hot_exit": true 和 "remember_open_files": true 在 Preferences → Settings 用户配置里已开启;Project → Save Project As… 把当前文件夹存为 myapp.sublime-project(建议放在项目根目录);Add Folder to Project;Project → Save Workspace As…,命名为 myapp-dev.sublime-workspace。set_layout 命令和“保存当前状态”混为一谈。它只改窗口划分,不恢复文件或 project:
- - 快捷键绑定必须写全 JSON 结构,漏掉
cols或cells字段会静默失败; - 命令面板搜
Set Layout只列出预设(如 2 Columns),自定义结构只能靠键位绑定触发; - 执行
set_layout后,已有文件不会自动挪到新 group —— 得手动拖或用Move File to Group命令; - 如果当前只有一个未保存的临时文件(
untitled),切 layout 后右列可能看起来“空”,其实是它默认只在 active group 显示该文件。
[ { "keys": ["ctrl+alt+shift+2"], "command": "set_layout", "args": { "cols": [0.0, 0.5, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1]] } } ]Project Manager 插件能省多少事?
它不解决 layout 保存问题,但极大缓解 project 切换混乱:
-
- 自动扫描磁盘上所有
.sublime-project 文件,不用手动去菜单里找;
-
Project → Edit Projects 可集中增删、分类、加描述,避免 project 文件散落在各处;
- 快捷键
Ctrl+Alt+P 调出模糊搜索,输中文名/路径片段就能跳转,比原生 Project: Switch Project(只列最近打开的)实用得多;
- 它的项目数据默认存在
Packages/User/Projects/,不污染你的源码目录,迁移配置时也干净。
但注意:它不管 .sublime-workspace,也不管 layout 快捷键。想一键回到“前端开发态”(含 project + workspace + layout),目前仍需三步操作,没有银弹。
.sublime-project 文件,不用手动去菜单里找;Project → Edit Projects 可集中增删、分类、加描述,避免 project 文件散落在各处;Ctrl+Alt+P 调出模糊搜索,输中文名/路径片段就能跳转,比原生 Project: Switch Project(只列最近打开的)实用得多;Packages/User/Projects/,不污染你的源码目录,迁移配置时也干净。真正麻烦的不是怎么保存,而是搞清哪部分状态归哪个机制管。很多人反复试了十几遍,发现 layout 恢复了但文件没了,或者 project 加载了但分屏又变回单列——那大概率是只做了其中一环。










