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表示颜色 ...
随机推荐
- ML_Review_LDA(Ch5)
Note sth about LDA(Linear Discriminant Analysis) 这篇来说说LDA的复习,LDA在第二次作业的博客中也提及了,但是那是作业思考,所以决定再开一篇只说LD ...
- 【Java】 HashMap
Java HashMap 标签(空格分隔): Java source-code hash-map 总结 HashTable的基本数据结构 Entry的hash与table的长度计算indexFor才能 ...
- Matrix: Matrix的,postScale(), postTranslate()方法
Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种,每一种变换在Android的API里都提供了set, post和pre三种操作方 ...
- Vue项目中的http请求统一管理
module.exports = { dev: { // Paths assetsSubDirectory: '/', assetsPublicPath: '/', proxyTable: { /op ...
- python 使微信自动回复
https://zhuanlan.zhihu.com/p/308999073 今天是鄙人的生日,欢luo过后想写点关于itchat的文章~ (不小心暴露年龄了,是的,我已经16岁了~~) 言归正传,这 ...
- 123456---com.twoapp.xiaoxiaofeixingyuan---小小飞行员
com.twoapp.xiaoxiaofeixingyuan---小小飞行员
- REUSE_ALV_POPUP_TO_SELECT使用技巧
可以实现弹出一个对话框,提供选择数据的功能…… 栗子1: CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT' TYPE-POOLS slis. DATA: selec ...
- Laravel用户认证系统的实现细节
原文地址:http://www.php.cn/php-weizijiaocheng-406076.html 这篇文章主要介绍了关于Laravel用户认证系统的实现细节,有着一定的参考价值,现在分享给大 ...
- 【C/C++】缓冲区设计--环形队列
原文链接:http://blog.csdn.net/billow_zhang/article/details/4420789 在程序的两个模块间进行通讯的时候,缓冲区成为一个经常使用的机制. 如上图, ...
- redis 启动配置文件加载报错 service redis does not support chkconfig
# chkconfig: # description:Redis is a persistent key-value database 网上资料 上面的注释的意思是,redis服务必须在运行级2,3, ...