如何配置Sublime Text 4以支持C语言编程并实现IO功能?
Sublime Text 4 中C语言实现交互式输入输出的构建方案
Sublime Text默认的构建输出面板不支持交互式输入,直接在面板内运行带输入逻辑的C程序会无响应。解决核心是让编译后的程序在外部终端窗口运行,以下是不同系统的配置方案:
一、类Unix系统(Mac/Linux)
- 打开Sublime Text 4,点击
Tools→Build System→New Build System... - 替换默认内容为以下代码:
{ "cmd": ["bash", "-c", "clang '${file}' -Wall -o '${file_path}/${file_base_name}' && open -a Terminal.app '${file_path}/${file_base_name}'"], "selector": "source.c", "working_dir": "${file_path}", "variants": [ { "name": "Compile Only", "cmd": ["clang", "${file}", "-o", "${file_base_name}", "-Wall"] } ] }
注:Linux系统需替换终端启动命令,比如Gnome终端用
gnome-terminal --execute '${file_path}/${file_base_name}',Xterm用xterm -e '${file_path}/${file_base_name}'
二、Windows系统
若使用原生Windows版clang,配置如下:
{ "cmd": ["cmd", "/c", "clang \"${file}\" -Wall -o \"${file_path}\\${file_base_name}.exe\" && start cmd /k \"${file_path}\\${file_base_name}.exe\""], "selector": "source.c", "working_dir": "${file_path}", "variants": [ { "name": "Compile Only", "cmd": ["clang", "${file}", "-o", "${file_base_name}.exe", "-Wall"] } ] }
说明:
start cmd /k会打开新的命令提示符窗口运行程序,且运行后窗口保持打开,方便查看输出结果
使用方法
- 将构建系统保存为
C_Interactive.sublime-build - 打开目标C代码文件,在
Tools→Build System中选中C_Interactive - 按下
Ctrl+B(Windows/Linux)或Cmd+B(Mac),即可编译并在外部终端运行程序,此时可正常输入内容;若仅需编译不运行,选择Tools→Build With...,再选C_Interactive - Compile Only
原构建系统问题说明
你之前的构建系统是在Sublime输出面板内运行程序,该面板仅支持输出、无法接收交互式输入,因此程序执行到scanf等输入语句时会卡住,切换到外部终端运行即可解决此问题。
内容的提问来源于stack exchange,提问作者Marko Minic
相关产品推荐
相关产品推荐

