Sublime Text3 C/C++一键调试运行(可读取cin和scanf且中文无乱码)

写在前面:

可以说对Sublime Text3是真爱了,我最爱的代码编辑器,没有之一。CSDN上不少前辈都写过如何在Sublime Text3中编译调试运行代码,根据他们的博客,我成功设置好了Python在Sublime Text下的编译运行,但是C/C++的我找到了十多篇博客才设置成功(因为我发现里面就两篇博客真正实用)。所以我想总结一下,自己写一篇关于在Sublime Text3中编译运行C/C++的博客。

参考博客:

怎么让sublime text3可以运行c/c++ (来源:constantine___)。

我发现我按①设置好了后,不能读取cin和scanf的输入。

sublime text 3+minGW 无法读取cin,使用命令行cmd成功运行(来源作者:食野之苹)。

我发现我按②设置好了后,程序出现了中文乱码。 

Sublime Text的特点:

①Sublime Text 是一款跨平台代码编辑器,在Linux、OS X和Windows下均可使用。

②Sublime Text占用内存小、运行速度快,界面还十分简洁美观。

③Sublime Text可以多行编辑、多重选择、多屏显示,提高编程效率。

④Sublime Text 是可自由扩展的,它包含大量实用插件,我们可以通过安装自己领域的插件来成倍提高工作效率。

minGW的系统环境配置:

使用的C/C++编译器是minGW,点此进入官网链接,下载后需要在线安装,安装后需要将安装目录下的bin目录所在路径加入path环境变量。本菜鸡的电脑里安装了CodeBlocks,在CodeBlocks的安装目录下有MinGW,所以可以直接将其bin目录所在路径D:\CodeBlocks\MinGW\bin复制。

用鼠标右键点击此电脑,选中属性,然后选择高级系统设置,再选择环境变量。

在环境变量中找到Path系统变量,选中后点击编辑。

选择新建,然后Ctrl+v把复制的MinGW的bin路径粘贴,再一直点确定就行了。

用Win+R来运行cmd,输入g++或g++ -v,出现以下界面说明MinGW配置成功。

在Sublime Text3内部编译运行代码: 

编辑一段代码输出经典语句"Hello,world."和“你好,世界。”  Ctrl+Shift+b选中C++ Single File -Run即可在ST3内部对这段代码进行编译运行。程序运行结束后显示[Finished in 时间]。

如果代码有bug的话,Sublime Text3也可以进行报错。

这一切看上去都非常让人激动。然而!问题来了,用以上方法并不能读取cin和scanf。要是在"请输入一个数:"后输入一个数字,Sublime Text3不会有任何反应,并且在你重新Ctrl+b编译运行的时候会报错,因为该代码已经在编译运行了。

Sublime Text3调用cmd编译运行:

如何解决Sublime Text3无法cin、scanf的问题呢? 

在菜单栏选中Tools,然后选择Build System,再选择New Build System...,在新打开的文件中添加以下内容:

{
    "cmd": ["g++", "${file}", "-fexec-charset=gbk", "-o", "${file_path}/${file_base_name}"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",
    "variants":
    [
        {
            "name": "Run",
            "cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"]
        },
        {
            "name": "RunInCommand",
            "cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"]
        }
    ]
}

Ctrl+s保存在这个默认路径下,重命名为C.sublime-build。

然后返回刚刚那段代码,Ctrl+Shift+b选择C -Run,编译后可以调用cmd运行,界面如下:

震惊!!为啥会出现中文乱码呢?我就奇了个怪啦。

 

不要慌!问题不大!设置文件编码为GBK格式后再输入文字,程序运行时中文就不再是乱码了。Ctrl+Shift+p打开命令框,输入"install",选中第一个敲回车。

你会发现命令框消失了,过一会儿会出现一个新的命令框,在新的命令框中输入"ConvertToUTF8"敲下回车即可进行安装。

安装ConvertToUTF8成功后在菜单栏选中File,然后选中Reload encoding with,选择Chinese Simplified(GBK)。然后重新Ctrl+b调试运行,噔噔噔噔!

Sublime Text3添加快捷键: 

如何像Codeblocks一样按下F9后即可对代码进行编译运行呢?在菜单栏选中Preferences,然后再选中Key Bindings。

在新出现的界面中输入一行内容(我是把F8设置为快捷键的):

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

输入完成后按下Ctrl+s保存即可。 

 大功告成!尽情显示使用Sublime Text3编辑代码的快乐吧!

猜你喜欢

转载自blog.csdn.net/weixin_42449444/article/details/85146975