Sublime怎么使用Build系统_Sublime自定义构建教程【编译】

1次阅读

sublime build系统无反应主要因.sublime-build文件位置错误或json语法不规范;须置于packages/user目录下且严格遵循双引号、无尾逗号等json规则;跨平台需注意变量写法($file/%file%)、shell环境加载及路径空格处理。

Sublime怎么使用Build系统_Sublime自定义构建教程【编译】

Build系统没反应?先检查sublime-build文件位置和语法

Sublime 的 Build 系统不执行,90% 是因为 .sublime-build 文件没放对地方,或者 JSON 格式有隐性错误(比如末尾多逗号、单引号代替双引号)。它必须放在 Packages/User/ 目录下,且文件名以 .sublime-build 结尾,不能是 .json 或其他后缀。

  • windows 路径:%APPDATA%sublime textPackagesUser
  • macos 路径:~/Library/Application Support/Sublime Text/Packages/User/
  • linux 路径:~/.config/sublime-text/Packages/User/
  • Preferences → Browse Packages… 最稳妥,直接打开 User 文件夹
  • JSON 必须严格双引号,"cmd" 不能写成 'cmd';数组最后一项后面不能有逗号

想运行 Python 脚本但报错python: command not found?路径和 Shell 环境不一致

Mac/Linux 下常见:终端里能跑 python3,但 Sublime Build 里报错。这是因为 Sublime 启动时没加载你的 shell 配置(如 ~/.zshrc),找不到 python3 的路径。

  • 别硬写绝对路径(比如 /usr/local/bin/python3),不同机器可能不一样
  • 更可靠的做法是在 cmd 中调用 shell 并显式加载配置:["sh", "-c", "source ~/.zshrc && python3 $file"]
  • Windows 用户注意:cmdPowerShell 行为不同,用 cmd 时变量写法是 %FILE%,不是 $file
  • shell 设为 true 有时反而让环境更混乱,建议显式调用 shcmd

cmd 里的变量怎么用?记住这四个最常用

Sublime Build 支持的变量不多,但用错一个就整个构建失败。它们只在 cmd 数组里生效,且大小写敏感、不能嵌套。

  • $file:当前文件完整路径(含扩展名),最常用
  • $file_path:文件所在目录路径,结尾不带 /
  • $file_name:纯文件名(如 main.py
  • $file_base_name:不带扩展名的文件名(如 main
  • Windows 下如果路径含空格,$file 会被自动加引号;但 $file_path 不会,需要手动包一层:"$file_path"
  • 别试图用 ${file}$(file) —— 这些都不认

为什么改了.sublime-build却看不到新选项?缓存没刷新

Sublime 不会实时监听 User 目录下的构建文件变更。改完保存后,菜单不会自动更新,得手动触发重建索引。

  • 快捷键:Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 Build,选 Set Build System → Automatic 再切回来
  • 或者关掉当前窗口再重开,强制重载
  • 如果文件名拼错了(比如写成 python3.sublime-buid),Sublime 完全忽略它,也不会报错 —— 只是菜单里不出现
  • 多个 .sublime-build 文件同名(比如都叫 Python.sublime-build)会导致覆盖,只认最后一个加载的

Sublime 的 Build 系统看着简单,但变量作用域、shell 环境隔离、路径空格处理这几个点,实际写的时候最容易卡住。尤其跨平台时,$file%FILE% 混用、shcmd 切换不彻底,问题就藏得很深。

text=ZqhQzanResources