.sublime-project 文件需先通过“Add Folder to Project”添加目录再保存,否则 folders 字段为空;项目模板可共享,但须排除 .sublime-workspace 和个人化配置。

怎么用 .sublime-project 文件定义项目结构
Sublime 的“项目”不是抽象概念,它就是一个 JSON 配置文件——myapp.sublime-project。你保存它,就等于把当前工作目录、忽略规则、缩进偏好等全固化下来了。
常见错误是:点 Project → Save Project As… 后发现侧边栏没反应。其实它默认只保存项目配置,**不会自动添加当前打开的文件夹**(除非你之前已通过 File → Add Folder to Project 加过)。所以实操时建议两步走:
- 先用
Project → Add Folder to Project…把源码根目录加进来 - 再执行
Project → Save Project As…,选好路径和名字(比如frontend.sublime-project)
这样生成的文件里 "folders" 字段才会有真实路径,否则会空着或写错。
如何让项目自带 HTML/CSS 模板一键生成
Sublime 本身不提供“新建项目→自动生成 index.html+style.css”功能,但可以通过 Build System 拆解成 Shell 命令来实现,比装插件更轻量、更可控。
实操要点:
- 菜单选
Tools → Build System → New Build System… - 把内容替换成这段 JSON:
{ "cmd": ["sh", "-c", "mkdir -p '${file_path}/src' && touch '${file_path}/src/index.html' && touch '${file_path}/src/style.css' && echo '✅ Created: src/index.html + src/style.css'"] } - 保存为
Packages/User/CreateWebSrc.sublime-build - 在任意项目根目录下新建一个空文件,按
Ctrl+B(Windows/Linux)或Cmd+B(macOS),就能跑出标准结构
注意:${file_path} 是当前文件所在目录,不是项目根目录;所以最好先在目标文件夹里新建一个临时文件再运行,否则可能建错位置。
为什么 htmltpl 片段不生效?语法模式和路径必须对得上
写好 <tabTrigger>htmltpl</tabTrigger> 却按 Tab 没反应,90% 是因为当前文件没切换到 HTML 语法模式。
验证方法:看窗口右下角,显示的是 Plain Text 还是 HTML。只有在 text.html.basic 作用域下,htmltpl 才会被识别。
实操建议:
- 新建文件后,立刻按
Ctrl+Shift+P输入Set Syntax: HTML回车 - 确保 snippet 文件保存在
Packages/User/html_template.sublime-snippet(路径错一个字母都不行) - 如果改过 snippet 内容,不用重启 Sublime,但要执行
Ctrl+Shift+P → Reload Syntaxes
另外,<scope>text.html.basic</scope> 不能写成 source.html 或漏掉,这是 Sublime 匹配语法的唯一依据。
项目模板能共享给团队吗?可以,但别直接提交 .sublime-workspace
.sublime-project 是纯配置,可安全加入 Git;但同名的 .sublime-workspace 记录的是你个人的打开标签页、光标位置、折叠状态等,属于本地状态文件,绝对不要提交。
团队协作时容易踩的坑:
- 有人把
"settings"里写了自己本地的 Node 路径或 ESLint 配置,导致别人 build 失败 - 用了
folder_exclude_patterns排除node_modules,但 macOS 和 Windows 下路径分隔符不同(实际不影响,Sublime 自动兼容) - 多人共用同一份
.sublime-project,却各自修改了"build_systems",结果互相覆盖
真正该共享的只有 "folders" 和基础编辑设置(如 tab_size);构建、格式化、Linter 等应交由项目级脚本(如 package.json)管理,而不是塞进 Sublime 配置里。

















