Sublime Text 本身不运行代码,仅调用系统命令行执行解释器或编译器;“一键编译运行”本质是配置含编译+执行逻辑的 Build System,须匹配语言 selector 并正确使用 $file 等变量,否则 Ctrl+B 无反应或仅编译不运行。
Sublime Text 本身不运行代码,它只是调用系统命令行执行解释器或编译器。所谓“一键编译运行”,本质是配置一个能连贯完成编译 + 执行的
,且必须匹配当前文件的语言类型(
)和路径变量(如
、
)。
为什么 Ctrl+B 没反应或只编译不运行
根本原因不是快捷键失效,而是当前构建系统没被激活,或配置里没定义“运行”动作。
右下角状态栏必须显示
/
/
等语言名——这是
匹配成功的标志;否则即使文件是
后缀,Ctrl+B 也会静默失败
纯
只执行,不等待;若脚本含
,输出面板会直接关闭,看不到输入提示
想“编译+运行”两步合一,得用
(如 C++ 的
变体),或把命令写成 shell 复合语句(如
)
Windows 下用
要设
,否则会被当字面量处理
Python 构建系统怎么写才不丢输出、不乱码
默认
在 Windows 上容易卡住、中文变问号,核心是缓冲和编码没对齐。
加
参数:
强制未缓冲输出,避免
卡住不刷屏
Windows 中文乱码:不能只靠
,得在 cmd 层切换代码页,
并设
如果系统
命令指向 pyenv 或 conda 环境,建议用
(macOS/Linux)或
(Windows)确认真实路径,写死更稳,比如
必须匹配报错格式,否则双击错误行跳不到源码,推荐用
Java 和 C++ 怎么做到“一键编译并运行”
Java 和 C++ 都要分两步:先生成字节码/可执行文件,再加载运行。Build System 必须串起这两个动作,且注意类名/文件名一致性。
仿Sublime和notepad++编辑器效果
仿Sublime和notepad++编辑器效果
下载
Java:关键在
(不含后缀),因为
不能带
;
写成
,否则中文字符串字面量会乱码
C++:Windows 下
通常不存在,得装 MinGW-w64 并确保
可执行;
是最干净的写法,主
只编译,
变体负责执行,避免每次改代码都重复编译
两者都要设
,否则
找不到 class 文件,
找不到依赖资源
Linux/macOS 上,
中的引号必须用
包裹路径,否则空格路径会崩;Windows 可用反斜杠但 JSON 里得写成
Build System 放哪、怎么生效、常见硬伤
位置不对或格式错一个字符,整个
下的构建系统都会罢工。
必须存到
目录下——通过
进去,别手抖存到
或桌面
文件名必须以
结尾,如
;Sublime 不识别
后缀
JSON 格式零容忍:少个逗号、多个逗号、单引号、注释(// 或 /* */)都会导致构建系统列表里不显示该选项,用
粘贴校验最快
Mac 上 Homebrew 安装的 Python,
常是 shims,建议直接用
结果填进
;同理,M1/M2 Mac 的
可能来自 Rosetta,
可验证
真正卡住人的从来不是语法,而是
和
在不同系统下的路径分隔符行为、shell 转义规则差异、以及环境变量是否透传到 Sublime 进程里——这些没法靠“自动检测”解决,得手动验证每一步输出。
Build Systemselector$file$file_base_namePythonJavaC++selector.py"cmd": ["python", "$file"]input()variants"Run""shell_cmd": "javac $file && java $file_base_name"&&"shell": truepython $file-u["python", "-u", "$file"]print"encoding": "utf-8""cmd": ["chcp", "65001", "&&", "python", "-u", "$file"]"shell": truepythonwhich pythonwhere python["C:\Users\xxx\AppData\Local\Programs\Python\Python311\python.exe", "-u", "$file"]file_regex"^File "(*?)", line ([0-9]+)"$file_base_namejava Hello.classshell_cmd"javac -encoding utf-8 "$file" && java "$file_base_name""g++g++ --versionvariantscmd"Run""working_dir": "$file_path"java./a.outshell_cmd""C:\path\to\g++.exe"Packages/User/Packages/User/Preferences → Browse Packages…Packages/Default/.sublime-buildPythonRun.sublime-build.jsonjsonlint.compythonwhich python3cmdjavaarch -x86_64 java -version$file$file_path