真正切换项目需保存为.sublime-project文件并用Project→Switch Project…调用;否则仅打开文件夹会导致设置丢失、侧边栏混杂、构建系统失效。

Sublime Text 怎么真正切换项目,而不是只换文件夹
Sublime Text 的“项目”不是指打开一个文件夹那么简单——它必须保存为 .sublime-project 文件,否则所有窗口级设置(如折叠状态、光标位置、侧边栏展开节点)和构建系统配置都会丢失。很多人以为拖个文件夹进去就叫“切换项目”,结果关掉再开,一切重置。
- 真正切换项目的前提是:每个工程都有独立的
.sublime-project和可选的.sublime-workspace - 用
Project → Save Project As…生成.sublime-project,别手动新建空 JSON 文件(容易缺folders字段) - 切换时优先用
Project → Switch Project…(快捷键Ctrl+Alt+P/Cmd+Alt+P),不是靠File → Open Folder… - 如果没看到项目列表,说明 Sublime 还没在当前路径下发现有效的
.sublime-project文件,或者你之前没保存过
多个项目共存时,为什么侧边栏总串内容
Sublime 默认是单窗口单项目,但允许开多个窗口——每个窗口应绑定唯一项目。一旦你用 File → Open Folder… 往已有窗口里加文件夹,它就变成“无项目”的纯文件浏览模式,侧边栏会把所有加进来的路径平铺堆在一起,失去项目隔离性。
- 避免在已有项目窗口中执行
Open Folder;应该新开窗口(File → New Window),再用Project → Open Project…加载另一个.sublime-project - 检查菜单栏是否显示项目名(如 “my-api.sublime-project”),没显示=当前窗口没绑定项目
-
.sublime-workspace文件记录了窗口状态,但它不跨窗口生效;两个窗口即使加载同一项目,折叠/光标位置也互不影响
如何让不同项目自动用不同构建系统或设置
项目级配置写在 .sublime-project 里,比用户级或语法级配置优先级更高,这才是多工程差异化管理的核心。比如后端项目用 Python 构建,前端项目用 npm script,全靠这个文件驱动。
- 编辑
.sublime-project时,在settings下加字段,例如:"font_size": 13或"build_systems": [{ "name": "npm run dev", … }] - 路径要用相对写法:
"path": "node_modules/.bin",不要写绝对路径(否则换机器就崩) - 想禁用某个插件只对当前项目生效?加
"ignored_packages": ["Vintage"] - 注意 JSON 格式:末尾不能有多余逗号,字符串必须双引号,
folders数组不能为空
Sublime 切换项目卡顿或列表为空怎么办
常见原因是项目文件没放对位置,或 Sublime 没扫描到。它只在几个固定路径下找 .sublime-project:你上次保存项目的目录、Sublime Text/Packages/User/、以及你通过 Switch Project 手动添加过的路径。
- 用
Project → Add Folder to Project…是错的——这只会往当前项目里加文件夹,不会注册成可切换项目 - 正确做法:把
.sublime-project放进项目根目录,然后用Switch Project打开一次,Sublime 就会记住这个路径 - 如果列表长期为空,去
Preferences → Browse Packages… → User,删掉ProjectManager.sublime-settings(如果你装了 ProjectManager 插件),它有时会缓存失效路径 - 原生不支持子目录自动索引——也就是说,
~/code/backend/下有项目,但~/code/不会自动列出它,除非你进到 backend 目录里保存过
.sublime-project 都得手动保存,而且 Sublime 不校验 JSON 合法性——少个括号,整个项目设置就静默失效。这点最容易被忽略。










