Sublime Text 多项目管理需通过 .sublime-project 文件+窗口隔离实现,直接拖入文件夹会导致混乱;Project → Switch Project 仅识别启动时扫描到的项目,路径须存在且推荐绝对路径;项目级设置必须写在 "settings" 字段内并使用正确键名,如 "tab_size";推荐用 ProjectManager 插件实时管理项目列表。

Sublime Text 本身不支持“多项目标签页”式共存,所谓“同时管理多个项目”,本质是靠多个 .sublime-project 文件 + 窗口隔离 + 正确配置来实现。直接拖文件夹进窗口、或反复用 File → Open Folder…,只会导致侧边栏混杂、设置丢失、Goto Anything(Ctrl+P)搜不到文件——这不是切换项目,是制造混乱。
为什么 Project → Switch Project 找不到刚保存的项目
这个菜单项只读取 Sublime 启动时扫描到的 .sublime-project 文件,且有严格路径偏好:
- 它优先扫描你上次保存项目的目录、
Packages/User/目录,以及已打开过的项目路径;临时桌面或/tmp下保存的项目大概率被忽略 -
"folders"字段里写的路径必须存在,且推荐用绝对路径(例如"/Users/you/src/backend"),相对路径依赖启动工作目录,极易失效 - 保存新项目后不重启 Sublime,或没执行
Project → Refresh Folders(部分版本支持),列表就不会更新 - 菜单显示为空,最常见原因是:项目根本没保存过
.sublime-project,只是打开了文件夹
如何让不同项目自动用不同构建系统和设置
项目级配置必须写在 .sublime-project 的 "settings" 字段内,且键名要和用户设置完全一致,否则无效:
- 错误写法:
"tabSize": 2(应为"tab_size": 2)、或把配置塞到"folders"外层、甚至丢进"build_systems"里 - 正确结构示例:
{ "folders": [ { "path": "/Users/you/project-a" } ], "settings": { "tab_size": 2, "translate_tabs_to_spaces": true, "font_size": 12 }, "build_systems": [ { "name": "npm run dev", "cmd": ["npm", "run", "dev"], "working_dir": "$project_path" } ] } -
"ignored_packages"可禁用插件(如["Vintage"]),只对当前项目生效 - 所有路径尽量用
$project_path变量,避免硬编码绝对路径
用 ProjectManager 插件解决原生功能的硬伤
原生 Switch Project 不刷新已删除/移动的项目,点进去常报 Unable to open project: path does not exist;而 ProjectManager 是目前最可靠的补充:
- 安装后,用
Ctrl+Shift+P→ProjectManager: Open Project调出面板,它会实时扫描并过滤无效路径 - 支持右键项目 →
Remove Project,彻底清理列表,不会残留死链接 - 可手动编辑项目列表(
Projects → Edit Projects),添加分组、注释、自定义图标等 - Terminal 类插件(如 Terminus)需配合
"terminal": { "working_dir": "$project_path" }才能进项目根目录,这点原生不支持
真正容易被忽略的是:项目不是“打开文件夹”,而是“保存上下文”。一个没保存过 .sublime-project 的窗口,关掉就丢了所有折叠状态、光标位置、构建系统选择——哪怕你刚配好一切。养成先 Project → Save Project As… 再开工的习惯,比任何插件都关键。

















