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中即可使用。
- Whats the difference between thread_posixs and thread_win32 in gcc port of windows?
三、下載安裝 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(非小鍵盤)屏幕顯示相等數字的小窗口
(本文部分內容及圖片來源於網絡,感謝原文作者分享。)
Sublime Text3 & MinGW & LLVM CLang 安裝配置C-C++編譯環境