用惯了臃肿的VS2013,有时候想写个小项目,小测试程序,编辑浏览代码什么的不想
总打开它,于是我折腾了一下Sublime Text2 这款现代化高大上的强大代码编辑器,它的定位
在于绿色轻巧,速度快,且跨平台支持Win/Mac/Linux,支持32与64位,但它需要配合众多
的插件一起使用,所以比较适合喜欢折腾的人。
另外,Sublime Text2 通常用于前端开发,例如HTML,PHP神马的,亦或者是写些脚本神马的,
像Lua, Js之类的,但估计用它来写VC的还真不多,毕竟有VS这等便利神器,所以我就在这里
分享一下如何来用它搭建VC编译环境。
前提:
(一).关于Sublime Text2的下载
关于Sublime Text2的下载就不详细说了,可以到官方下载英文版的,再用注册机破解,若想
使用中文,可以进行中文汉化,如果想省事一点,也可以直接去网上下载中文破解版的。
(二).关于Package Control
这是一个便于管理其他插件的插件,但是在天朝你必须能用VPN或用代理翻墙,否则你获取
不了更新也是白搭,但它并不是必须的,你可以到github或其他下载源下载插件,手动管理
将插件包放在Sublime Text2/package目录下。
(三).关于MS的Cl编译器的使用
这里我不打算使用MINGW的GCC/G++, 因为是VC工程,所以应该搭建VC下的Cl编译器更合适,
而且我也习惯了使用这个编译器。(把它从VS2013下偷来用用又有何妨?)
正式搭建:
(一).设置环境变量(若没有,则新建)
这里以本机为例:
1.在系统变量的INCLUDE中添加
E:\Ultimate_VS2013\VC\include;
C:\Program Files (x86)\Windows Kits\8.1\Include\shared;
C:\Program Files (x86)\Windows Kits\8.1\Include\um;
C:\Program Files (x86)\Windows Kits\8.1\Include\winrt;
2.在系统变量的LIB中添加
E:\Ultimate_VS2013\VC\lib;
E:\Ultimate_VS2013\VC\atlmfc\lib;
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86;
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\arm;
3.在系统变量中新建VC_BIN,添加
E:\Ultimate_VS2013\VC\bin;
C:\Program Files (x86)\Windows Kits\8.1\bin\x86;
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools;
E:\Ultimate_VS2013\Common7\IDE;
并将其添加到系统变量的Path变量中,如%VC_BIN%
友情提示:刚添加完可能不会立即生效,此时需要重启机器,在cmd中输入set命令可以查看设置是否成功。
(二).New Build生成新编译系统文件
1.点击 【工具-》编译系统-》新编译系统】, 在文件中添加以下代码,并另存为VC++.sublime-build
{ "cmd": ["CL", "/Fo${file_base_name}", "/O2", "${file}"], // For CL on Windows "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c, source.c++", //"encoding": "utf-8", "encoding": "cp936", "variants": [ { "name": "Run", "cmd": ["CMD", "/U", "/C", "CL /Fo${file_base_name} /O2 ${file} && ${file_base_name}"] // For CL On Windows } ] }
2.保存后将编译系统设置为VC++,如图:
(三).导入VC中默认继承的lib库
我们可以写一个头文件,手动导入这些lib库,例如:
(四).下载ConvertToUTF8插件
因为Sublime Text2对中文的支持不是很好,所以我们需要这个插件来管理中文字符乱码
等问题,我们可以按下Ctrl+Shift+P输入Package Control来管理该插件的安装。
(也可以直接下载放在SublimeText2/Package目录下)
这里,我以一个WIN32程序的编译运行来说明该插件的作用,在这里我事先写好了一个传送
一张位图显示的GDI程序,把它保存在main.cpp中。我们首先点击main.cpp文件,然后按下
Ctrl+Shift+B, 之后它便开始编译运行了,然后我们可以看到发生了一个编译错误:
在这里,“常量中有换行符”的错误正是中文字符所带来的,解决方案是保存为UTF-8含BOM格式,然后再
Ctrl+Shift+B编译运行就不会有问题了:
运行结果:
(五).关于SublimeClang插件和API代码提示功能
因为Sublime Text2本身只支持已有变量的代码提示,如果不想一味参考MSDN,
可以使用SublimeClang插件来提供关于C++ API的代码提示功能,SublimeClang
可以用Package Control获取,我这里另外提供一个下载地址:http://pan.baidu.com/s/1hq7iXHM
另外,关于SublimeClang的使用,我顺带提一下好了,在Package中包含该插件后,
我们可以点击Preferences->Package Settings->SublimeClang->Settings User保存一下代码
来进行一下自己的设置,我这里把错误检查关掉了,感觉有点问题:
{ "show_output_panel": false, //底下的代码提示框显示 "show_visual_error_marks": false, //错误的红色框框显示 "dont_prepend_clang_includes": true, //是否不包括clang自身的头文件。建议用true取消包括,以防产生冲突 "options": [ //"-IF:\\Graphic_proj" ] }
"options"里添加的SublimeClang识别的头文件路径,这样就可以识别从而使用代码提示功能了,
因为我们之前设置了环境变量,所以这里就不用添加了,具体用法可以参考
Preferences->Package Settings->SublimeClang->Settings Default 里头,
设置成功后,我们就可以使用如下的代码提示功能了: