sublime中拖文件夹进窗口不等于创建项目,必须通过file→open folder…再project→save project as…生成.sublime-project文件,否则侧边栏清空、goto anything失效;.sublime-workspace应.gitignore;多模块需在folders数组中手动配置各路径及排除规则;sublimecodeintel须设独立database_dir;原生switch project不可靠,推荐projectmanager插件。

直接拖文件夹进窗口 ≠ 创建项目,这是最常踩的坑
很多人以为把项目根目录拖进 Sublime 就算“打开了项目”,结果侧边栏杂乱、Goto Anything(Ctrl+P)搜不到关键文件、tab_size设置不生效——本质是没生成真正的项目上下文。Sublime 的项目功能必须依赖 .sublime-project 文件驱动,它不是视觉状态,而是配置载体。
- 必须先执行
File → Open Folder…(哪怕只开一个文件夹),再点Project → Save Project As…,否则生成的.sublime-project中"folders"是空数组,重启后侧边栏直接清空 - 推荐把
.sublime-project文件存放在项目根目录下,"path": "."比硬编码绝对路径更可靠,重命名或移动整个项目时不会失效 -
.sublime-workspace文件记录的是个人会话状态(打开哪些标签页、光标在哪),应加入.gitignore,不该提交到版本库
多个子模块共存?别用 Add Folder to Project,要靠项目级 folders 数组
大型项目常含 frontend/、backend/、shared/ 等逻辑分离的目录,想同时编辑又保持索引隔离,不能靠反复 Add Folder to Project——那只是把它们塞进同一个项目上下文,导致 scan_exclude_patterns 和构建系统互相干扰。
- 正确做法:在
.sublime-project的"folders"数组里手动写多个对象,每个指定独立路径和排除规则,例如:{"path": "frontend", "folder_exclude_patterns": ["node_modules"]}和{"path": "backend", "folder_exclude_patterns": ["__pycache__"]} - 每个
folder可配独立"name"字段,侧边栏会显示该名称而非原始路径,方便识别 - 修改完必须点一次
Project → Save Project(不是Save Project As…),否则改动不会写入磁盘,重启即丢失
项目切换卡顿或索引错乱?优先检查 SublimeCodeIntel 的 database_dir 配置
大型项目启用 SublimeCodeIntel 后,如果切换项目时补全延迟、跳转失效,大概率是多个项目的索引数据库混用了同一路径,造成冲突或重复扫描。
- 必须在每个
.sublime-project的"settings"里显式指定"SublimeCodeIntel": {"codeintel_database_dir": "./.codeintel"},用相对路径确保每个项目独占数据库目录 - 避免全局设置中开启
"scan_files_in_project": true,它会让插件无差别扫描所有folders下的文件;改用"scan_extra_paths"显式添加需要索引的第三方库路径 -
"scan_exclude_paths"推荐写成["/node_modules/", "/dist/", "/build/", "/.git/"],开头加/表示绝对路径匹配,防止误排除同名子目录
原生 Switch Project 不可靠,ProjectManager 插件才是多项目管理刚需
Ctrl+Alt+P 调出的原生项目列表,只显示“最近通过 Open Project 加载过”的项目,且不刷新、不支持模糊搜索、路径失效后仍残留条目——对几十个项目的团队开发来说,基本不可用。
- 安装
ProjectManager后,首次保存项目必须用命令面板运行Project Manager: Save Project,它会自动存到Packages/User/Projects/目录,插件才能持续索引 - 已有项目文件(如
myapp.sublime-project)需手动运行Project Manager: Refresh Projects,再右键导入,否则插件无法识别 - 日常切换用
Project Manager: Quick Switch Project(默认快捷键仍是Ctrl+Alt+P),它会关闭当前所有标签页并加载目标项目完整状态;对比调试则选Project Manager: Open Project in New Window,两个窗口完全隔离
.sublime-project 文件成为可维护的契约:路径是否稳定、排除规则是否精准、插件配置是否绑定到具体目录层级——一旦某处写死绝对路径或漏掉 folder_exclude_patterns,后续所有人打开这个项目都会继承问题。











