Sublime Text3 & MinGW & LLVM CLang 安装配置C-C++编译环境
Sublime Text是一款强大的跨平台代码编辑器,小巧而且丰富实用的功能是Visual Studio不能比拟的,但是编译运行是一个软肋,本文通过在sublime中配置g++编译器实现程序的编译功能。具体步骤如下:
(一) 下载安装Sublime text3 for windows
(二) 下载安装 MinGW
(三) 下载安装 LLVM CLang
(四) Sublime Text3配置
(五) 编译测试
(六) 配置编译C和CPP环境
(七) Sublime Text3的使用技巧
一、下载安装Sublime text3 for windows
下载地址:http://www.sublimetext.com/3
二、下载安装 MinGW与系统变量设置
本文使用的C/C++编译器是gcc/g++,可选MinGW(for 32 bit Windows)或者MinGW-W64(for 32 and 64 bit Windows),如果你使用的操作系统是64位的,建议安装MinGW-W64。([科普]MinGW vs MinGW-W64及其它:http://tieba.baidu.com/p/3186234212 )
2.1.1 安装MinGW
下载地址:http://sourceforge.net/projects/mingw/
软件安装界面:
安装完成后会让用户选择需要下载的Package
选择要下载的Package:(先选Basic Setup,勾选最新的并应用安装;然后再选All Packages的MinGW Compiler Suite,添加 The GNU C++ Compiler 的相关项即可)
如图所示,选择 MinGW Compiler Suite之后,添加 The GNU C++ Compiler 的相关项即可。
2.1.2 设置环境变量
右击我的电脑,点属性->高级->环境变量。
- 在环境变量PATH 添加系统 MinGW 的实际安装位置,如: C:\Program Files\MinGW 或者比如本文中演示的C:\MinGW\bin。在PATH里加入C:\MinGW\bin(具体路径请根据你的MinGW选择)。如果PATH里面还有其他的变量,记得要加个英文半角分号。一般 PATH 中的变量会非常的多,不同变量之间使用;分隔。
- 新建LIBRARY_PATH变量,如果有的话,在值中加入C:\MinGW\lib,这是标准库的位置。
- 新建C_INCLUDEDE_PATH变量,值设为C:\MinGW\include。
- 也可以按此设置,这种方式比较全,控制面板--〉系统--〉系统详细设置--〉环境变量
MINGW_PATH=C:\mingw C_INCLUDE_PATH=%MINGW_PATH%\include;%MINGW_PATH%\lib\gcc\mingw32\3.4.5\include CPLUS_INCLUDE_PATH=%MINGW_PATH%\include\c++\3.4.5;%MINGW_PATH%\include\c++\3.4.5\mingw32;%MINGW_PATH%\include\c++\3.4.5\backward;%C_INCLUDE_PATH% LIBRARY_PATH=%MINGW_PATH%\lib;%MINGW_PATH%\lib\gcc\mingw32\3.4.5 PATH=%MINGW_PATH%\bin;%MINGW_PATH%\libexec\gcc\mingw32\3.4.5
注意:上面的很多3.4.5这个是gcc的版本号,要以真实的文件夹为准。
- 检查变量设置:Win+R输入: cmd ,在命令行中输入: g++ -v ,有内容输入证明环境变量配置正确.如果出现 'g++' 不是内部或外部命令,也不是可运行的程序或批处理文件。 检查上一步配置.
如果出现上面的画面,说明了你安装成功了,否则就是环境变量设置的问题。需要修改一下环境变量。在已经存在的环境变量前面添加上mingw的路径。因为Windows的环境变量修改之后不会立马生效,需要重启电脑。如果想省事,不想重启电脑的话可以直接在cmd中输入set path c:\这样环境变量就会被强制刷新。
2.2 安装MinGW-W64
下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
下载最新在线安装文件MinGW-W64-install.exe,执行后,运行安装目录下的mingw-w64.bat,其目的是将../MingGW-W64/bin目录添加到系统PATH中而已。
或者直接从网站下载对应版本压缩包,如x86_64-7.1.0-release-posix-seh-rt_v5-rev2.7z,然后将其解压到本地某个目录下,如将该压缩包内的mingw64目录解压到C盘根目录,即C:\mingw64,然后将“C:\mingw64\bin”添加到系统PATH中即可使用。
三、下载安装 LLVM CLang
(ST2中有sublimeClang插件,但ST3中没有,可以手动安装,但很麻烦,作者也不更新了,所以选择其他插件进行代码校验、自动完成等)
- 下载LLVM,地址:http://llvm.org/releases/download.html
- 安装并将路径添加到系统环境变量PATH中;
四、Sublime Text3配置
- 打开ST3,安装Package Control
按快捷键“ctrl + ` ”(esc下面那个键)或View > Show Console,在弹出的输入框中输入下面内容然后回车:
import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
注释20170820:该内容从https://packagecontrol.io/installation#st3 (原使用网址https://sublime.wbond.net/installation#st3)上拷贝而来。
安装好后ctrl + shift + p则可打开,然后输入package control, 选择Install相关的选项,一会就会弹出很多可以安装的插件。点击菜单栏中的Preferences-<Browse Packages...大多数插件会安装在弹出的窗口所在的路径中。
- 打开ST3,ctrl + shift + p>>install,等待一会后,安装Sublimelinter插件;
- 然后继续安装Sublimelinter-contrib-Clang插件。
五、编译测试
提示错误:
自动完成:
关于编译,ST3默认即可;生成的可执行文件在cpp同目录下。
ctrl+B:生成
ctrl+shift+B:运行
六、配置编译C和CPP环境
在ST3菜单栏选择Tools -> Build System -> New Build System...,复制下面的代码并按编译c或cpp不同进行相应命名保存即可,用G++编译cpp程序,可命名为C++ Bulider.sublime-build,用GCC编译C程序,可命名为GCC Bulider.sublime-build。
// Put this file here: // "C:\Users\[User Name]\AppData\Roaming\Sublime Text 3\Packages\User" // Use "Ctrl+B" to Build and "Crtl+Shift+B" to Run the project. // OR use "Tools -> Build System -> New Build System..." and put the code there. { //用G++编译cpp程序,可命名为C++ Bulider.sublime-build "shell_cmd": "g++ -std=c++11 \"${file}\" -o \"${file_path}/${file_base_name}\"", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c, source.c++", "variants": [ { "name": "Run", "shell_cmd": "g++ -std=c++11 \"${file}\" -o \"${file_path}/${file_base_name}\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\"" //"shell_cmd": "g++ -std=c++11 \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\"" } ] //也可用此方法编译C++程序(备用方案) // "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"], // "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", // "working_dir": "${file_path}", // "selector": "source.c, source.c++", // "encoding": "cp936", // "shell": true, // "variants": // [ // { // "name": "Run", // //"cmd": ["CMD", "/U", "/C", "g++ ${file} -o ${file_base_name} && ${file_base_name}"] // "cmd": [ "start", "${file_path}/${file_base_name}.exe"] // } // ] //用GCC编译C程序,可命名为GCC Bulider.sublime-build // "shell_cmd": "gcc \"${file}\" -std=c99 -o \"${file_path}/${file_base_name}\"", // "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", // "working_dir": "${file_path}", // "selector": "source.c", // "shell": true, // "variants": // [ // { // "name": "Run", // "shell_cmd": "gcc \"${file}\" -std=c99 -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\"" // } // ] //用此方法也可编译C程序(备用方案) // "shell_cmd" : "gcc $file_name -std=c99 -o ${file_base_name}", // "working_dir" : "$file_path", // "shell": true, }
七、Sublime Text3的使用技巧
7.1推荐插件
- Convert To UTF8
将文件编码从GBK转换成UTF8,可以解决中文乱码,快捷键Ctrl+Shift+C
- Tab的中文显示为方块问题解决办法:
在sublime text 3中,Preference, Settings,->User,添加:
"dpi_scale": 1.0,
"font_size": 12,
建议Settings-User配置:
{ "dpi_scale": 1.0, "font_size": 12, "color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme", "ignored_packages": [ "Vintage" ], "line_padding_bottom": 1, "line_padding_top": 1, "tab_size": 4, "translate_tabs_to_spaces": true, "word_wrap": "true" }
- BracketHighlighter
括弧高亮插件,清晰明了
- ChineseLocalizations
汉化插件,支持无缝切换中文、日语、英文. 使用主菜单的帮助/Language子菜单来切换语言。要换回英语不需要卸载本插件,请直接从菜单切换英文。
- 如果想要删除插件,Ctrl+Shift+P调出命令面板,使用Remove Package选项,选择要删除的插件即可;更新插件:Upgrade Packages。
7.2快捷键
Ctrl+L 选择整行(按住-继续选择下行) Ctrl+KK 从光标处删除至行尾 Ctrl+K Backspace 从光标处删除至行首 Ctrl+J 合并行(已选择需要合并的多行时) Ctrl+KU 改为大写 Ctrl+KL 改为小写 Ctrl+D 选择字符串 (按住-继续选择下个相同的字符串) Ctrl+M 光标移动至括号内开始或结束的位置 Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果) Ctrl+Shift+c转换为utf8 Ctrl+R 搜索指定文件的函数标签 Ctrl+G 跳转到指定行 Ctrl+KT 折叠属性 Ctrl+K0 展开所有 Ctrl+U 软撤销 Ctrl+T 词互换 Tab 缩进 自动完成 Shift+Tab 去除缩进 Ctrl+F2 设置书签. F2 下一个书签 Shift+F2 上一个书签 shift+鼠标右键 列选择 Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑 Alt+. 闭合当前标签 F6 检测语法错误 F9 行排序(按a-z) F11 全屏模式 Ctrl+Enter 光标后插入行 Ctrl+Shift+Enter 光标前插入行 Ctrl+Shift+[ 折叠代码 Ctrl+Shift+] 展开代码 Ctrl+Shift+↑ 与上行互换 Ctrl+Shift+↓ 与下行互换 Ctrl+Shift+A 选择光标位置父标签对儿 Ctrl+Shift+D 复制光标所在整行,插入在该行之前 ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找 Ctrl+Shift+K 删除整行 Ctrl+Shift+L 鼠标选中多行(按下快捷键),即可同时编辑这些行 Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号) Ctrl+Shift+P 打开命令面板 Ctrl+Shift+/ 注释已选择内容 Ctrl+PageDown 、Ctrl+PageUp 文件按开启的前后顺序切换 Ctrl+鼠标左键 可以同时选择要编辑的多处文本 Shift+鼠标右键(或使用鼠标中键)可以用鼠标进行竖向多行选择 Shift+Tab 去除缩进 Alt+Shift+1~9(非小键盘)屏幕显示相等数字的小窗口
(本文部分内容及图片来源于网络,感谢原文作者分享。)