sublime项目配置必须使用通过project→save project as…保存的、位于根目录的无空格无中文的.sublime-project文件,settings需置于顶层,修改后须重启或重新打开项目,插件支持依赖自身实现。

项目配置必须用 .sublime-project,不是随便建个 JSON 就行
Sublime 只认通过 Project → Save Project As… 保存的 .sublime-project 文件,且必须放在项目根目录下。手动新建一个同名文件、或用 File → Open Folder… 直接打开目录,都不会触发项目级配置——窗口标题栏不显示项目名,就是没生效的最可靠信号。
- 保存后会自动生成配套的
.sublime-workspace,二者需成对存在;缺一不可 - 文件名不能含空格或中文(如
my project.sublime-project会被忽略) - 修改配置后,必须关闭再重新用
Project → Open Project…打开,或重启 Sublime;热重载不生效
在 settings 字段里写配置,才能真正覆盖全局
项目专属设置必须放在 .sublime-project 的顶层 settings 对象里,不是嵌套在 folders 或其他字段下。它会和全局设置自动 merge:同名项覆盖,非同名项保留。
- 常见可配项:
tab_size、translate_tabs_to_spaces、rulers、file_exclude_patterns、spell_check - 想隐藏
node_modules?写进settings:"file_exclude_patterns": ["node_modules/", "*.log"] - 别误写成
folder_exclude_patterns放在folders下——那只是控制侧边栏显示,不影响编辑器行为
插件是否响应项目配置,得看它自己支不支持
Sublime 本身不提供“按项目启停插件”的能力,插件是全局加载的。但像 SublimeLinter、TrailingSpaces、EditorConfig 这类插件,会在运行时主动读取 settings 中的特定键,据此开关功能。
- 验证是否生效:在项目中打开任意文件,按
Ctrl+`调出控制台,执行sublime.active_window().active_view().settings().get("trailing_spaces_enabled"),返回True才算真起效 -
SublimeLinter支持"linters"和"sublimelinter_executable_map";TrailingSpaces看"trailing_spaces_enabled" - 如果插件没文档说明支持项目级配置,那你在
settings里写的键,大概率被完全忽略
构建系统、环境变量这些高级配置也得塞进 .sublime-project
除了编辑器外观和行为,项目还可绑定专属构建命令、指定 Node 环境变量,甚至多根目录管理——这些都得在 .sublime-project 里明确定义,而不是靠用户设置或插件默认值。
- 构建系统示例:
"build_systems": [{ "name": "Python - v3.11", "cmd": ["python3.11", "$file"] }] - 环境变量(供插件读取):
"env": {"NODE_ENV": "staging"} - 多根项目(monorepo 场景):
"folders": [{"path": "frontend"}, {"path": "backend"}]
所有这些配置只作用于该项目下的文件;哪怕你用 File → Open File… 单独打开一个同目录下的文件,也不会继承它们——项目上下文是严格绑定的。











