sublime text 项目配置需将 .sublime-project 文件通过「project → save project as…」保存至项目根目录,与自动生成的 .sublime-workspace 成对存在,文件名严格为 .sublime-project 且不可含空格或中文;配置写入 settings 字段可覆盖全局设置,仅作用于该项目内文件;插件是否支持项目级配置取决于其实现方式;修改后需重启或重新打开项目才生效。

项目级配置文件怎么放才生效
Sublime Text 的项目隔离靠的是 .sublime-project 文件,不是随便建个 JSON 就行。它必须和 .sublime-workspace 成对出现(后者通常自动生成),且必须通过「Project → Save Project As…」保存到项目根目录下,否则 Sublime 不认这个项目上下文。
- 文件名必须是
.sublime-project,不能带空格、中文或额外后缀 - 必须放在项目最外层目录,不能套在子文件夹里
- 保存后,窗口标题栏会显示项目名,这是唯一可靠的状态提示
- 如果你用「File → Open Folder…」直接打开目录,Sublime 默认不加载项目配置,得先「Project → Open Project…」选那个
.sublime-project文件
怎么在项目配置里覆盖全局设置
.sublime-project 是个 JSON,顶层只有两个键:folders 和 settings。你要改编辑器行为,全写在 settings 里,它会自动 merge 进全局设置(同名项覆盖,非同名项保留)。
- 想让某个项目禁用自动补全?加
"auto_complete": false - 想强制用 2 空格缩进且不转 tab?写
"tab_size": 2, "translate_tabs_to_spaces": true - 改语法高亮?用
"syntax": "Packages/Python/Python.sublime-syntax"(路径必须准确,大小写敏感) - 注意:所有设置都只作用于该项目下的文件,哪怕你用「File → Open File…」单独打开一个不属于该项目的文件,也不会继承这些配置
插件设置也能按项目隔离吗
能,但取决于插件本身是否支持。Sublime 的插件分两类:一类读取全局 Preferences.sublime-settings,另一类显式检查 view.settings().get("xxx") 或 sublime.active_window().active_view().settings().get("xxx") —— 后者才能被项目配置影响。
- 常见支持项目级的插件:
EditorConfig、SublimeLinter(需配linters字段)、AutoFileName(用auto_filename_project_settings) - 不支持的典型例子:
Package Control自身设置、SideBarEnhancements的右键菜单逻辑 - 验证方法:在项目配置里加个明显值(比如
"my_test_flag": true),然后在 Python 控制台运行sublime.active_window().active_view().settings().get("my_test_flag"),返回True才算生效
为什么改了配置没反应?几个高频卡点
项目配置不是热重载的,很多修改要重启 Sublime 或至少关闭再重开项目。
- 修改
.sublime-project后没效果?先关掉整个窗口,再用「Project → Open Project…」重新加载 - 用了
folders但路径不对:Windows 要用正斜杠或双反斜杠,比如"path": "D:/myproject"或"path": "D:\myproject",单反斜杠会解析失败 - 设置项拼错名:比如把
"font_size"写成"fontsize",Sublime 完全静默忽略,不会报错 - 多个同名设置嵌套冲突:比如你在项目配置里设了
"rulers": [80],但某插件又往rulers里 push 了 120 —— 最终显示两个竖线,这不是 bug,是叠加行为
项目配置真正起效的前提,是你得让 Sublime “认为”当前窗口属于那个项目。很多人编辑着文件,却压根没加载项目,所有设置都只是躺在磁盘上。










