可通过配置外部终端或使用插件解决Sublime Text运行C++程序时无法输入的问题。首先,修改构建系统调用系统终端:Windows下通过cmd执行,macOS使用AppleScript启动Terminal.app,Linux调用gnome-terminal等终端模拟器,均能实现标准输入;其次,推荐安装Terminus插件,在编辑器内嵌入完整终端,结合自定义命令实现编译运行一体化,支持实时输入交互,提升开发体验。

如果您尝试在Sublime Text中运行C++代码,但程序需要用户输入时无法响应,则可能是由于默认输出面板不支持标准输入。以下是解决此问题的步骤:
通过修改Sublime Text的构建系统配置,使其调用系统外部终端(如Windows的cmd或macOS的Terminal),从而支持用户输入操作。
1、打开Sublime Text,点击顶部菜单栏的 Tools → Build System → New Build System...。
2、将默认内容替换为以下JSON配置(以Windows为例):
立即学习“C++免费学习笔记(深入)”;
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.cpp",
"variants": [
{
"name": "Run",
"shell_cmd": "start cmd /k "cd \"${file_path}\" && ${file_base_name}.exe && pause""
}
]}
3、保存文件为 C++.sublime-build。
4、编写C++代码后,先按 Ctrl+B 编译,再按 Ctrl+Shift+B 选择“Run”变体执行程序。
macOS系统需通过AppleScript调用Terminal应用来执行编译后的程序,以实现标准输入功能。
1、新建Build System,使用如下配置:
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"working_dir": "${file_path}",
"selector": "source.c, source.cpp",
"variants": [
{
"name": "Run",
"cmd": ["osascript", "-e", "tell app \"Terminal\" to do script \"cd '${file_path}' && ./'${file_base_name}' ; echo 'Press Enter to exit'; read line'\""]
}
]}
2、保存后使用 Ctrl+Shift+B 选择“Run”运行程序,Terminal窗口将自动弹出并允许输入。
在Linux环境下,可通过调用GNOME Terminal或其他终端模拟器来运行可执行文件。
1、创建新的Build System配置:
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"working_dir": "${file_path}",
"selector": "source.c, source.cpp",
"variants": [
{
"name": "Run",
"cmd": ["gnome-terminal", "--", "sh", "-c", "cd '${file_path}' && ./'${file_base_name}' ; read -p 'Press Enter to continue...'"]
}
]}
2、确保系统已安装 gnome-terminal 或替换为其他终端命令如 xterm 或 konsole。
3、使用构建变体运行程序,新终端窗口将弹出并支持输入交互。
Terminus是Sublime Text的一个插件,可在编辑器内部嵌入完整终端,支持输入输出交互。
1、通过Package Control安装 Terminus 插件。
2、创建自定义命令配置,在Packages/User目录下新建 c_run.sublime-commands 文件:
[
{
"caption": "Build and Run C++ (Terminus)",
"command": "terminus_exec",
"args": {
"cmd": ["g++", "${file}", "-o", "${file_base_name}", "&&", "./${file_base_name}"],
"shell_cmd": "g++ '${file}' -o '${file_base_name}' && './${file_base_name}'",
"cwd": "${file_path}"
}
}
]}
3、重启Sublime Text,通过命令面板执行 Build and Run C++ (Terminus),即可在内嵌终端中运行并输入数据。
以上就是SublimeText运行C++代码无法输入_调用外部终端解决输入问题的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号