前期准备
Sublime text3 http://www.sublimetext.com/3
MinGW64 离线安装包地址
PS:我试了好几次直接下载MinGW64在线安装包,然后再运行下载都失败了,都会出现“异常:The file has been downloaded incorrectly!”
这可能是网络的问题,无法在线下载具体的包,因此可以找到其中的离线包的下载路径,其中涉及到选择版本号、环境、thread、exception,最后就是上面的离线安装包地址,具体可以参考这篇文章https://www.jianshu.com/p/5af803941111
前言
进行一种编程语言的开发工作,离不开的就是这个语言的编译器和IDE。对于C++来说,VS的全家桶是最简单的一条龙服务,直接去下载vs20**,就能进行C++,C#甚至python的开发工作,但是VS的一个问题就是太冗余,有时我们只需要进行一些简单的开发工作。
因此项目量级不大时,就可以采用编译器+编译文档工具的组合。在编译文档工具中,sublime text3是一款非常强大的工具,和chrome一样,他的强大体现在插件库的丰富,如果能好好调教这个工具,就可以完美替代vs、pycharm等IDE,实现轻量开发的目的。
由于我也是刚刚入门sublime text3,所以目前主要是以实现C++的基础编译环境为目标配置我的sublime text3。
我认为的基础编译环境,需要以下的功能:编写代码、运行代码、调试代码、自动补齐、函数跳转。接下来我将逐步介绍如何配置基于Sublime Text3的C++编译环境。
开始配置
安装了sublime text3(ST3)以后,就可以开始配置整个编译环境了。
一、编译器配置
sublime text3的顶部工具栏中tools->build system中有各种默认编程语言的编译环境,这时ST3自带的,可能性能不是很强,为了用更完备的编译器,我们可以去自行配置,点击最下面的new build system就能构造自己的编译器。
在构建之前,我们需要先安装前期准备好的MinGW64,MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行库。安装完成后在环境变量中添加MinGW/bin的路径到path,具体可以看这篇文章mingw安装配置。
安装配置好MinGW后,需要配置编译器,点击new build system后会弹出一个编程环境,将以下代码复制替换并按Ctrl+Shift+S保存为你想要的名字(比如我的是C++3.0),在build system中就会出现这个编译器。
{
"cmd":"g++ -std=c++11 $file_name -o $file_base_name",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"shell": true,
"encoding":"cp936",
"variants":[
{
"name":"g++ Compile",
"cmd":"g++ -std=c++11 $file_name -o $file_base_name"
},
{
"name":"g++ Run",
"cmd":"start cmd /k $file_base_name"
}
]
}
有了这个自定义的编译器后,写完代码,build system中选择C++3.0,按快捷键Ctrl+Shift+B就会出现C++3.0 compile和C++3.0 Run两种方式,分别对应IDE中的编译和运行功能。
这里有进阶的自定义编译器,可以学习学习花式C++编译配置。
完成以上配置后,我们就是自行写简单的代码,并用自定义的编译器运行代码。但是为了加强编译环境,并提高我们的编程效率,那就需要通过安装插件去强化我们的ST3 C++编译环境了。
二、Package Control插件安装
为了能方便下载并安装插件,首先需要安装Package Control插件。这个插件有两种安装方式。
1. 代码安装。按Ctrl+`调出console(注:安装有QQ输入法的这个快捷键会有冲突的,输入法属性设置-输入法管理-取消热键切换至QQ拼音)粘贴以下代码到底部命令行并回车:
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
2.手动安装。package control下载网址(需要科学上网,建议整个配置过程都在科学环境下进行!)
代码安装有时候会失败,至少我是没成功,这样就得去官网下载这个插件,然后把他放置在ST3工具栏中的perfermance->browse packages点击打开的位置。
PS:注意点击browse packages打开的是package文件夹,返回上级文件夹,进入install packages文件夹,把下载的插件放到这里去。
重启Sublime Text 3。如果在Perferences->package settings中看到package control这一项,则安装成功。
安装成功后,就能方便的进行插件安装了,操作方式如下:
按下Ctrl+Shift+P调出命令面板输入install 调出 Install Package 选项并回车,然后在列表中选中要安装的插件
PS:有时Ctrl+Shift+P输入install无法调出安装插件列表,反而会弹出there is no package available for installation,这时可以参考这篇文章package control安装小技巧的操作修改channel_v3.json中的版本号,我设置了package control的user项,但是会报错,反正这个install package调几次总归会出来安装插件。
三、重要插件安装
这样还有两个功能需要去完善,分别是自动补齐、调试代码。
PS:函数跳转,目前3124版本以后的sublimetext3有show definition的功能,将鼠标放到函数上会提示其引用与定义,实现快速跳转。
3.1 调试代码 SublimeGDB
代码通常需要通过调试才能找到问题,因此有效的调试环境也是十分重要的,我目前了解到的相关插件是sublimeGDB。这个插件主要是实现类似在cmd中进行GDB代码调试的功能。我们通过package control安装这个插件后,依次选择Preferneces -> Package Settings -> SublimeGDB -> Settings – User修改其配置文件。用以下代码替代原有内容:
{
"workingdir":"${folder:${file}}",
"commandline":"g++ -g -std=c++11 ${file} -o ${file_base_name} && gdb --interpreter=mi --args ./${file_base_name}",
}
光标置于代码某一行,按F9键,会加入一个断点;设置好断点后,按F5键启动调试。
默认的快捷键(可以通过修改Default.sublime-keymap修改快捷键)
按键 | 功能 |
F5 | 开始调试 |
Ctrl+F5 | 停止调试 |
F9 | 设置断点 |
F10 | Step over,执行一步,不进入函数 |
F11 | Step into,进入函数 |
Shift+F11 | Step out,跳出函数 |
具体操作也可以参考sublimeGDB配置及操作。
3.2 自动补齐 C++ Completions
安装这个插件后,就能实现自动补齐代码,输入i-可以提示各种c++库函数
四、其他功能插件
- 删除插件:ctrl+shift+p调出快速启动界面后输入remove则可以删除已安装的插件!
- converttoutf8:将除UTF8编码之外的其他编码文件在ST3中转换成UTF8编码,在打开文件的时候一开始会显示乱码,然后一刹那就自动显示出正常的字体,当然,在保存文件之后原文件的编码格式不会改变。
- SideBarEnhancements:一款很实用的右键菜单增强插件。使用方法:View->Side Bar。
- Compare Side-By-Side:Sublime版本的Beyond Compare,虽然没那么强大,但是也非常够用。
- Snippets:可以帮你快速书写代码,重用代码块以节省时间,甚至可以创建自己的代码段。
- WakaTime:记录你的Code时间
- Alignment:选中并按
ctrl+alt+a
就可以使其按照等号对其。【我安装了没效果...】 - ChineseLocalizations:中文界面
- CoolFormat:简单好用的代码格式化工具,相当于简化版的Astyle,默认
ctrl+alt+shift+q
格式化当前文件,ctrl+alt+shift+s
格式化当前选中。 - 再次推荐这篇文章,里面有很多插件介绍https://www.jianshu.com/p/3cb5c6f2421c!