Sublime Text如何自定义Build System_Sublime自定义Build System技巧

冬浩同学_9156

冬浩同学_9156

2026-04-09

451人浏览

原创

sublime text 的 build system 必须置于 packages/user/ 目录、用合法 json 编写,关键字段如 cmd(数组格式)、selector(如 "source.python")不可缺失或错误,否则 ctrl+b 静默失败;windows 路径需双反斜杠加引号,macos/linux 依赖 which python3;quiet: false 和 show console 是调试关键。

sublime text如何自定义build system_sublime自定义build system技巧

Sublime Text 的 Build System 不是“写完就用”,它必须放在 Packages/User/ 目录下、用合法 JSON 写、且关键字段一个都不能错,否则 Ctrl+B 会静默失败或报“command not found”。

Build System 文件必须放对位置才能被识别

Sublime 只从两个地方加载构建系统:内置只读包(你改不了),和 Packages/User/。丢在桌面、项目根目录、甚至 Packages/ 下其他子文件夹里,都不会出现在 Tools → Build System 菜单中。

  • 用 Preferences → Browse Packages… 打开目录,直接进 User/ 子文件夹
  • 新建文件,命名为类似 Python3.sublime-build,后缀必须是 .sublime-build
  • 保存后,如果没立刻出现,试试 Tools → Build System → Refresh Projects(部分版本需要)

cmd 字段必须是数组,Windows 路径必须加引号+双反斜杠

写成字符串(如 "cmd": "python -u $file")会完全失效;Windows 下路径含空格(比如 C:Program FilesPython312python.exe)不加引号就直接崩。

Tome
Tome

Tome是一款面向叙事型页面和演示内容创作的 AI storytelling 工具。

下载
  • 正确写法(Windows):"cmd": ["C:\Program Files\Python312\python.exe", "-u", "$file"]
  • 正确写法(macOS/Linux):"cmd": ["python3", "-u", "$file"](前提是 which python3 能查到)
  • 别依赖 PATH:从开始菜单启动的 Sublime 和终端里 subl . 启动的,继承的环境变量可能不同;绝对路径最稳
  • 不确定解释器在哪?终端运行 which python3(macOS/Linux)或 where python(Windows CMD)

selector 决定构建系统是否自动激活

没设 selector,或者写错了(比如写成 python 而不是 source.python),Ctrl+B 就不会触发这个构建系统——哪怕它显示在菜单里。

  • Python 文件对应 "selector": "source.python"
  • 想让它对所有文本文件生效(“万能运行”),可用 "selector": "source | text",但需配合 shell 脚本判断后缀
  • 多个构建系统共存时,selector 是唯一区分依据;不能靠 if 判断同一文件内不同后缀
  • 检查当前文件的 scope:按 Ctrl+Shift+P → 输入 show scope 回车,看输出里有没有匹配的 source.python

调试时别跳过 quiet 和 shell_cmd

默认 quiet: true 会隐藏完整命令和错误,导致你只能看到“[Finished in 0.1s]”却不知道哪错了。

  • 临时加 "quiet": false,控制台会打出完整执行命令和 stderr 输出
  • 需要重定向、管道或条件逻辑?改用 "shell_cmd" 字段(字符串格式),但注意:它只在 shell 环境生效,Windows 需额外加 "shell": true
  • "args" 和 "cmd" 互斥,不能同时存在;传参要用 "args": ["-m", "http.server", "8000"]
  • 变量如 $file 只在 cmd 或 shell_cmd 中展开;未保存的 Untitled 标签页会导致 $file 为空,命令变成 python -u "",直接失败

真正卡住人的往往不是语法,而是 Sublime 启动时实际加载的 PATH、工作目录、以及 selector 匹配 scope 的隐式行为——这些不会报错,只能靠 View → Show Console 里的日志一点点比对。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2115

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3202

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1076

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3659

7

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1718

5

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2644

5

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

6044

49

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2023.11.24

5589

6

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

2024.03.22

7254

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程