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 设置环境变量

右击我的电脑,点属性->高级->环境变量。

  

  1. 在环境变量PATH 添加系统 MinGW 的实际安装位置,如: C:\Program Files\MinGW 或者比如本文中演示的C:\MinGW\bin。在PATH里加入C:\MinGW\bin(具体路径请根据你的MinGW选择)。如果PATH里面还有其他的变量,记得要加个英文半角分号。一般 PATH 中的变量会非常的多,不同变量之间使用;分隔。

 

  1. 新建LIBRARY_PATH变量,如果有的话,在值中加入C:\MinGW\lib,这是标准库的位置。

 

  1. 新建C_INCLUDEDE_PATH变量,值设为C:\MinGW\include。

 

  1. 也可以按此设置,这种方式比较全,控制面板--〉系统--〉系统详细设置--〉环境变量
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的版本号,要以真实的文件夹为准。

  1. 检查变量设置: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中没有,可以手动安装,但很麻烦,作者也不更新了,所以选择其他插件进行代码校验、自动完成等)

  1. 下载LLVM,地址:http://llvm.org/releases/download.html
  2. 安装并将路径添加到系统环境变量PATH中;

四、Sublime Text3配置

  1. 打开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...大多数插件会安装在弹出的窗口所在的路径中。

  1. 打开ST3,ctrl + shift + p>>install,等待一会后,安装Sublimelinter插件;
  2. 然后继续安装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(非小键盘)屏幕显示相等数字的小窗口

(本文部分内容及图片来源于网络,感谢原文作者分享。)

posted @ 2017-08-20 17:04  JoyPoint  阅读(3464)  评论(0编辑  收藏  举报