配置Sublime Text实现对scanf键盘输入 快捷键执行代码【轻松好用】

背景和问题

由于Sublime Text本身编译代码并不支持用户有键盘上的输入,现有也有一些csdn给出了调用命令行的方式执行含有scanf键盘输入的方法。总的来说,代码中可能含有也可能不含有键盘输入,我们希望有一个较为方便的方法来应对。
结合我阅读的几篇csdn,将其综合,再加上我自己的一些摸索,总结了一个较为方便可行的方法写在这里,也作为记录。

先说效果

  1. 程序中不含有键盘输入时,直接在界面下方执行代码(使用快捷键F10);
  2. 程序中含有键盘输入时,调用命令行执行代码(使用快捷键F11,当然快捷键均可自行修改);

配置方法

  1. 在Sublime Text中选择【工具】-【编译系统】-【新建编译系统】,弹出一个文件。中英文表述可能不太一样,可看下面的截图。
    在这里插入图片描述
  2. 在弹出的文件中全选复制粘贴为下面的代码,Ctrl+S保存,保存位置不要改变,名称设置为C.sublime-build。
{
	"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
	"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
	"working_dir": "${file_path}",
	"selector": "source.c, source.c++",
	"shell": true,
	"variants":
	[
		{
			"name": "Run",
			"cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"]
		},
		{
			"name": "RunInCommand",
			"cmd": ["g++", "${file}", "-std=c++11", "-o", "${file_path}/${file_base_name}", "&", "start", "cmd", "/c", "${file_base_name} & echo. & pause"]
		}
	]
}
  1. 选择【首选项】-【快捷键设置】。
    在这里插入图片描述
  2. 在弹出的文件中右侧框中改为如下代码。里面的f10是表示代码直接运行在界面下方,f11是表示代码在命令行中执行,这两种情况用于程序中不含有键盘输入和含有键盘输入两种情况。这里的快捷键可自行修改。改好之后Ctrl+S保存。
[
	{"keys": ["f10"], "command": "build", "args": {"variant": "Run"}},

	{"keys": ["f11"], "command": "build", "args": {"variant": "RunInCommand"}}
] 

在这里插入图片描述
配置完毕。

看下效果

  1. 不含有scanf键盘输入时 ,按下“F10”执行代码
    在这里插入图片描述

  2. 含有scanf键盘输入时,按下“F11”执行代码:
    在这里插入图片描述

非常好用,当然程序中不含有键盘输入时,想用命令行执行也是可以的,随便!在其他的设置方法很相似,但是代码做了一些修改。

其他设置问题可看下面几篇,也作为本篇csdn的参考
[1]: https://blog.csdn.net/weixin_42449444/article/details/85146975
[2]: https://blog.csdn.net/lhshu2008/article/details/17582949?spm=1001.2014.3001.5501

更多推荐