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,就另当别论了。
sublime text 2 + Dev-C++/MinGW 组合配置更方便快捷的 C/C++ 编译环境(原创)的更多相关文章
- sublime text 2 + Dev-C++/MinGW 组合配置更方便快捷的 C/C++ 编译环境
首先看一下配置后的效果: 1.直接在底部文本框中显示运行结果(不需要从键盘输入的时候使用): 2.在cmd中运行结果(需要从键盘输入的时候使用): 快捷键说明: 运行: 在底部文本栏显示结果:Ctrl ...
- [mark] 使用Sublime Text 2时如何将Tab配置为4个空格
在Mac OS X系统下,Sublime Text是一款比较赞的编辑器. 作为空格党的自觉,今天mark一下使用Sublime Text 2时如何将Tab配置为4个空格: 方法来自以下两个链接: ht ...
- Sublime Text 3下载-汉化-插件配置
Sublime Text 3下载 不用说是上官方下载地址:http://www.sublimetext.com/3 Sublime Text 3 免费使用方法 Sublime Text 2的时候还有一 ...
- 配置 Windows 下的 nodejs C++ 模块编译环境 安装 node-gyp
配置 Windows 下的 nodejs C++ 模块编译环境 根据 node-gyp 指示的 Windows 编译环境说明, 简单一句话就是 "Python + VC++ 编译环境&quo ...
- Sublime Text 3 python和Package Control配置方法
(如果下面的方法试了Packages control功能还是不能用参考这个方法: 1.直接把C:\Sublime Text 3x64\Data\Packages\ 目录下原有的Packages c ...
- Sublime Text 3 插件、主题、配置
换电脑,Sublime Text 3 重新配置一遍,做个记录 1. 下载:http://www.sublimetext.com/3 2. 插件管理器 Package Control (Ctrl + ` ...
- sublime text 前端开发插件安装和配置
前端开发sublimeconfig mac配置 此文件目录中文件主要是关于sublime的插件配置,快捷键配置,主题和字体配置. 插件列表 所有插件都可以使用Package Control安装,具体的 ...
- Sublime Text 2 中文 GBK 规范的配置 暨 解决中文乱码问题 简述
首先通过 Package Control 安装 ConverToUTF8 插件,但是每次新建一个文本后并不是默认使用 GBK,要设置默认使用 GBK,请继续看,然后我们 Ctrl + O 打开文件,在 ...
- Sublime Text主题下载、安装与配置
从下面地址下载主题包,以下载第一个为例,解压缩并重命名为Theme – Flatland 备注:下载好的文件中 .sublime-theme后缀的表示界面主题(theme),.tmTheme表示颜色 ...
随机推荐
- Javascript arguments详解
今天我们来看看arguments对象及属性.arguments对象不能显式创建,arguments对象只有函数开始时才可用.函数的 arguments 对象并不是一个数组,访问单个参数的方式与访问数组 ...
- [开发笔记]-火狐的event和jquery1.9.1.min的问题
一:火狐不兼容window.event.keyCode问题 火狐的event是以参数形式传入的 function onlychinese(event) { event = event || windo ...
- 支持多人协作的在线免费作图工具:ProcessOn
之前朋友给我推荐一款作图工具ProcessOn,出于好奇我就研究了一下它,今天我就给大家简单介绍一下这款免费的在线作图工具:ProcessOn 首先使用ProcessOn我们需要有一个帐号,这样每次操 ...
- RPI学习--环境搭建_刷卡+wiringPi库安装
1,镜像地址 http://www.raspberrypi.org/downloads/ 2,Windows下刷写工具 Win32 Disk Imager 3,安装wiringPi库 (这里在连网状态 ...
- 调整label中text显示的行间距
调整label中text显示的行间距最近再做一个项目时,发现UILabel中text的系统默认行间距不能满足要求,于是在网上找到了调整行间距的代码.跟大家分享一下,希望能对你有所帮助.悦德财富:htt ...
- Oracle Enterprise Metadata Management (简称OEMM,Oracle元数据管理)12.1.3.0.1已经发布
在数据处理及数据仓库建设中,元数据管理是必不可少的,OEMM可以解决元数据管理过程中各种关键业务问题和技术挑战,其中包括如何元数据的统计信息,了解变更数据之后对下游的影响范围,而且OEMM站在业务的角 ...
- goldengate复制过程字符集处理一例
源端是oracle, al32utf8,表里有乱码,目标端是sybase cp936,两端的DB都不能改字符集,而且源端是目标端的超集,当复制有乱码的数据(非中文或英文数字等),目标端replicat ...
- 深入理解SELinux
目录(?)[+] 1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组 ...
- VM虚拟机中Ubuntu无法连接网络
之前Ubuntu是可以上网的,但是今天打开后发现上不了网了,经过一番折腾,弄好了,记录下. 方案一:将网络连接设置为自定义NAT VM ->设置-> 硬件->网络适配器 这么已修改就 ...
- Gradle: The New Android Build System
Gradle: The New Android Build System Google selected Gradle as the foundation of the Android SDK bui ...