sublime text 2 + Dev-C++/MinGW 组合配置更方便快捷的 C/C++ 编译环境

  首先看一下配置后的效果:

1.直接在底部文本框中显示运行结果(不需要从键盘输入的时候使用):

 

2.在cmd中运行结果(需要从键盘输入的时候使用):

 

 

快捷键说明:

运行:

  在底部文本栏显示结果:Ctrl + ,

  在cmd窗口中显示结果:Ctrl + .

C:

  编译:Ctrl + Shift + B

  编译并运行(在底部文本栏显示结果):Ctrl + Shift + ,

  编译并运行(在cmd窗口中显示结果):Ctrl + Shift + .

C++:

  编译:Ctrl + B

  编译并运行(在底部文本栏显示结果):Ctrl + Alt + ,

  编译并运行(在cmd窗口中显示结果):Ctrl + Alt + .

 

  好吧,接下来让我们开始配置吧!

 

  1)安装软件,下载地址见:http://www.cnblogs.com/dawn-l/p/5173426.html

 

  2)安装好 ST 和 Dev-C++(或 C-Free 或 MinGW(不推荐,原因见上文下载地址页面))后,需要我们来配置 环境变量,以 win10 为例(其它 windows 系统可自行百度),开始图标点击鼠标右键 --> 系统 --> 高级系统设置 --> 环境变量,视线移到系统变量,找到Path,编辑,新建,添加以下路径(以我的为例,具体看个人安装的位置):D:\Program Files (x86)\Dev-Cpp\MinGW64\bin\ 

  win10

  其它 windows(注意以英文分号隔开)

 

 

  然后确定返回到环境变量窗口,在 系统变量 中添加 新建 下面两项,

    1.变量名:C_INCLUDEDE_PATH  变量值:D:\Program Files (x86)\Dev-Cpp\MinGW64\include\

    2.变量名:LIBRARY_PATH    变量值:D:\Program Files (x86)\Dev-Cpp\MinGW64\lib\

  见图:

  环境变量配置完毕。

  检验:按 win+R 输入 cmd,然后输入 gcc -v, 有结果显示即设置成功,不成功可以重新打开 cmd 再试,一般不用重启电脑,实在不行可以尝试重启电脑再试,再次声明,请确保以上路径是你自己的安装路径,保证在资源管理器中输入这个路径能打开目录!

  上图:检验结果

 

  3)接下来转到 Sublime Text 开始配置我们的编辑器。这步很简单,只要复制粘贴和可以了,但是当初我配置的时候折腾了好久呢!一下配置文件纯属原创,网上其它版本(大多数吧)写得都很简单,只能实现 Ctrl+B“编译”,Ctrl+Shift+B“运行”有的是“编译后运行”,而 gcc(这里使用的编译器)对 C 和 C++ 的编译是区分开的,有强迫症的我又不喜欢把 C 源文件当作 C++ 来编译,而且这样做本来也不太好,按照网上的配置文件我就需要两个配置文件,需要的时候还得去菜单里切换,而且“运行”和“编译后运行”还不能同时实现,相当麻烦,于是折腾了好久,解决了介个问题,好吧,接下来让我们开始复制粘贴的工作吧。

 

  1.编译配置文件: Menu --> Tools --> Build System --> New Build System...打开一个文件后复制以下代码,然后保存为 MinGW64-11.sublime-build

  注:如果未安装ConverToUTF8插件,请按照注释中的说明修改(第6行)(关于中文和ConverToUTF8的问题见:http://www.cnblogs.com/dawn-l/p/5173348.html

  MinGW64-11.sublime-build :

{
     "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}.exe", "-Wall", "-std=c++11"],
     "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
     "working_dir": "${file_path}",
     "selector": "source.c, source.c++",
     "encoding": "GBK",  //If you haven`t install ConvertToUTF8, please install it or delete/comment this line or use "encoding": "utf-8",
     "shell": true,

     "variants":
     [
          {
               //Shortcut: Ctrl+Shift+B
               "name": "Run", //Build C
               "cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}.exe", "-Wall", "-std=c11"]
          },
          {
               //Shortcut: Ctrl+,
               "name": "RunLocal", //Run in bottom text box
               "cmd": ["${file_path}/${file_base_name}"]
          },
          {
               //Shortcut: Ctrl+.
               "name": "RunCmd",   //Run in cmd window
               "cmd": [ "start", "CMD", "/C", "${file_path}/${file_base_name} & pause"]
          },
          {
               ////Shortcut: Ctrl+Shift+,
               "name": "BuildCAndRunLocal",  //Build C & run in bottom text box
               "cmd": ["CMD", "/C", "gcc ${file} -o ${file_path}/${file_base_name}.exe -Wall -std=c11 & ${file_path}/${file_base_name}"]
          },
          {
               //Shortcut: Ctrl+Shift+.
               "name": "BuildCAndRunCmd",    //Build C & run in cmd window
               "cmd": ["start", "CMD", "/C", "@echo off & gcc ${file} -o ${file_path}/${file_base_name}.exe -Wall -std=c11 & @echo on & ${file_path}/${file_base_name} & pause"]
          },
          {
               //Shortcut: Ctrl+Alt+,
               "name": "BuildCppAndRunLocal",     //Build C++ & run in bottom text box
               "cmd": ["CMD", "/C", "g++ ${file} -o ${file_path}/${file_base_name}.exe -Wall -std=c++11 & ${file_path}/${file_base_name}"]
          },
          {
               //Shortcut: Ctrl+Alt+.
               "name": "BuildCppAndRunCmd",  //Build C++ & run in cmd window
               "cmd": ["start", "CMD", "/C", "@echo off & g++ ${file} -o ${file_path}/${file_base_name}.exe -Wall -std=c++11 & @echo on & ${file_path}/${file_base_name} & pause"]
          }
     ]
}

  简单的说明一下:gcc 是编译 C 源文件的命令, g++ 是编译 C++ 源文件的命令, -Wall 表示要显示所有可能的 warning,个人觉得这很有必要,程序猿一个很好的习惯就是把 warning 当作 error 来处理,这样才能使自己的代码更安全,-std=c++11 和 -std=c11 表示用C++11 和 C11 标准进行编译,我还有个 MinGW64.sublime-build 配置文件是不含这两个指令的,MinGW 默认并不是用 C/C++11 标准编译的,有时候标准不同会有很大不同,所以建议两个编译配置文件都加上。

 

  2.快捷键配置文件:Menu --> Preferences --> Key Bindings - User,复制粘贴,文件名为Default (Windows).sublime-keymap

  Default (Windows).sublime-keymap :

[
	{ "keys": ["ctrl+0"], "command": "build", "args": {"variant": "BuildC" } },
	{ "keys": ["ctrl+,"], "command": "build", "args": {"variant": "RunLocal" } },
	{ "keys": ["ctrl+."], "command": "build", "args": {"variant": "RunCmd" } },
	{ "keys": ["ctrl+shift+,"], "command": "build", "args": {"variant": "BuildCAndRunLocal" } },
	{ "keys": ["ctrl+shift+."], "command": "build", "args": {"variant": "BuildCAndRunCmd" } },
	{ "keys": ["ctrl+alt+,"], "command": "build", "args": {"variant": "BuildCppAndRunLocal" } },
	{ "keys": ["ctrl+alt+."], "command": "build", "args": {"variant": "BuildCppAndRunCmd" } }
]

  注 :如果快捷键不适合个人,可自行更改,但是要不与默认快捷键重复真的很难,查看默认快捷键打开 Menu --> Preferences --> Key Bindings - Default 即可,要查看自己想使用的快捷键是否和默认的重复,可在这个文件里按 Ctrl+F 输入内容即可搜索,Ctrl+F3 查找下一个,Shift+F3 上一个。

 

注:目前sublime仍有部分问题,但用来平时学习的时候做点小练习是非常合适的,比大部分IDE都方便很多,主要问题有:

  1)保存路径中不能含有空格,只要保证文件都保存在常用保存代码的地方然后用_代替空格就行啦,没多大麻烦,对日常练习影响也不大。

  2)然后就是不能方便地编译链接多个源文件,只能通过 make 来完成,至于 make 是什么这里就不作讲解了,linux/unix 下做开发的应该比较熟悉, windows 下大多 make 的工作都由 IDE 替我们完成了,所以 windows 程序猿可能对 make 会相对陌生。所以目前 ST 只能方便地编译单个文件,当然如果你懂且愿意用 make,就另当别论了。

posted @ 2016-01-29 15:16  幽曲  阅读(2626)  评论(1编辑  收藏  举报