在参考网上诸多大神配置sublime text3后,自己也想写一篇有关在sublime中配置c/c++的运行环境的文章,顺便总结一下。
安装sublime text3:
下载地址(官方地址):https://www.sublimetext.com/3
当然这个,你也可以直接百度sublime text3就可以找到。
安装MinGW:
如果你电脑上已经安装了CodeBlock就可以直接跳过这一步了;
下载地址:https://sourceforge.net/projects/mingw-w64/
具体配置可以去百度,不过我的是不用配置,直接安装,可参考一下我的安装选择(本人电脑系统win10):
安装完成后,记得将......\mingw64\bin的路径添加到自己的系统路径上去或者用户路径去。
必要的话可以重启一下电脑。
如要检测是否安装成功,可win+r输入cmd,打开cmd,在里面直接输入gcc,如果出现
则表示成功
sublime text3配置
打开sublime text3,这里不好直接截图,按键有冲突,就直接以文字表述了。
在工具栏找到Tools,点开它再找到Build System,再点开它,就可以看到一些可编译环境了。
不过我们的重点不在这,再在这里面的最下端就可以找到New Build System,点开它
可以看到以上界面,再将以下代码复制到你的sublime中的去,保存即可
(这里是编译C的,如果想编译C++可以再重新创建一个New Build System来保存以下代码,
记得将其中gcc改成g++哦,其实直接配置成c++环境也是可以的,因为c++兼容c也是可以直接
编译的,本人试过可行)
{
"cmd": ["gcc","-Wall", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"encoding":"cp936",
"variants":
[
{
"name": "Run",
"cmd": ["cmd", "/c", "gcc", "-Wall","${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"]
},
{
"name": "RunInCommand",
"cmd": ["cmd", "/c", "gcc", "-Wall","${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & echo.&pause"]
},
{
"name": "RunInShell",
"shell_cmd": " start cmd /c \"\"${file_path}/${file_base_name}\"&pause\" "
}
]
}
此时记得ctrl+s,保存一下,并命名好(比如C.sublime-build)
现在按CTRL+n新建一个文件,并接着按一下CTRL+s保存为.c文件,可以随意敲上你顺手的c代码,
比如下图代码,然后再Tools中将Build System中选到你之前所保存好编译环境(比如我的是C)
然后按CTRL+Shift+b,就会显示你将要用什么来编译它,如果你是按照我上面的代码配置的话,
你将看到C-Run、C-RunInCommand、C-RunInShell其中你点C-Run,你就可向下图一样显示了
------------------------------------------------------------------------------------------------
介于评论区的问题,在这里将C-RunInShell更改为RunInCommand,更改原由,因C-RunInShell只是负责运行.exe,如果还没编译生成相关的.exe,就会出错表示没找到。
-------------------------------------------------------------------------------------------------
(这里解释一下,RunInCommand是在cmd中显示,在这里可支持输入比如scanf,因为是在C-Run中
是不支持scanf的输入的,还得注意一下)
下次运行代码,你就可以按CTRL+b就可以运行了,这个是表示接着用上次编译方式进行。
如果你还嫌麻烦,你还可以在工具栏下得Preferences找到Key Bindings,点开它,
在USER这边复制一下代码(其中f5,f6可以自行更改)
{"keys": ["f5"], "command": "build", "args": {"variant": "Run"}},
{ "keys": ["f6"], "command": "build", "args": {"variant": "RunInShell"} },
然后你按f5,f6便可以运行代码了
到此,就配置得差不多了,如果你们还想要有代码提示等功能,可以安装一些插件呢,比如clang等。
----------------------------------------今天更新一下------------------------------------------------
之前我们在sublime text3中是用gcc编译器来配置的,但是最近我发现总是会用一些问题,比如编译不出结果。
于是乎,我就想着能不能用Clang来编译呢,然后我就重新生成一个New Build System将上面的那个代码,再
次复制到这里来,然后选中gcc,按下Alt+F3,选中所有匹配项,改成clang,保存一下,就可以了。编译了一
下,发现比之前用gcc编译快了点。
-----------------------------------------此处是分割线---------------------------------------------------
(在这先吐槽一下,刚刚已经敲好一半了,结果给我突然来个网页未响应..................未保存啊啊啊啊..................)
如果之前按照上面代码改clang的Build System的,可能会出不来现象,还会发现文件夹里莫名其妙的多了一个
不带后缀的文件。今天,理了理,发现clang里的-o和gcc -o的用意稍微有点不一样,先上图:
这个是gcc的
这个是clang的
你们可以自己感觉一下俩者之间的区别
接下来,就是好好改改我们之前用Clang.sublime-build的文件了:
改得很简单,就是再在文件名后面加一个.exe就可以了
{
"cmd": ["clang","-Wall", "${file}", "-o", "${file_path}/${file_base_name}.exe"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"encoding":"cp936",
"variants":
[
{
"name": "Run",
"cmd": ["cmd", "/c", "clang", "-Wall","${file}", "-o", "${file_path}/${file_base_name}.exe", "&&", "cmd", "/c", "${file_path}/${file_base_name}.exe"]
},
{
"name": "RunInCommand",
"cmd": ["cmd", "/c", "clang", "-Wall","${file}", "-o", "${file_path}/${file_base_name}.exe", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name}.exe & echo.&pause"]
},
{
"name": "RunInShell",
"shell_cmd": " start cmd /c \"\"${file_path}/${file_base_name}.exe\"&pause\" "
}
]
}
以下是安装clang编译器的总文件LLVM:
下载地址:点击打开链接(http://releases.llvm.org/download.html)
找到最下面这个,Windows的Clang (64位)点它就行,就会开始下载了。
这个安装很简单,就是按照它提示的来就行,安装完,到安装目录来,把...\bin文件添加到系统路径或者用户路径去
必要的话可以重启一下电脑。
剩下的是,你也可以跟上面试gcc安装成功没一样来试试clang,如果提示如下信息,就表示成功了
到这就差不多了完成,顺便推荐一些好的插件EasyClangComplete、SublimeCodeIntel(这个是关于代码提示,很好用)。