@梁宇轩10年前

01/27
21:30
技术笔记

Sublime Text 2 配置C++環境

首先聲明:這篇文章並非通篇原創,參考了以下兩篇文章:

http://www.cnblogs.com/zhenglichina/archive/2012/08/10/2632071.html http://shanewfx.github.com/blog/2013/01/06/sublime-text2-for-programmer/

接下來介紹我們的主角,Sublime Text 2。

http://www.sublimetext.com/(官方網站)
http://www.sublimetext.com/2(官方正式版下載地址)
http://www.sublimetext.com/buy(覺得好有就支持作者吧 $59) http://www.sublimetext.com/dev(Dev版本的下載地址) http://docs.sublimetext.info/en/latest/index.html(英文文檔)

快速尋找文章內容:編譯運行插件效率編輯

一、實現編譯

完成Sublime Text 2的下載之後,我選擇的編譯器是MinGW【注意!記得在安裝的時候勾選安裝C++的編譯器】,否則在安裝結束後執行這條命令。

mingw-get install g++

如果不想去在綫下載的話(見2013-01中國大陸屏蔽GitHub事件 維基百科頁面),也可以選擇C-Free或者Dev-C++,然後將環境變數PATH設好就可以了。(注意:安裝完畢之後要重啟Sublime Text 2)

來編寫一段C++做測試吧。執行Ctrl+Shift+P調出命令行窗口,輸入“Set Syntax C++”,當然隨便選幾個字符也能Match到,或者直接點擊右下角來調整都可以。以下是隨手編寫的Hello world。
#01-01
隨便選個名稱保存,執行Ctrl+B就可以編譯了,編譯後的文件會出現在你保存源文件的目錄下。

二、實現運行

當然,Sublime Text 2也提供了直接運行功能,但是要先配置。打開 %AppData%Sublime Text 2PackagesC++ ,之後用Sublime Text 2打開目錄下的C++.sublime-build文件,將原來是

"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]

替換為

"cmd": ["${file_path}/${file_base_name}"]

這樣的話,就可以先執行了Ctrl+B的編譯命令後,執行Ctrl+Shift+B來運行剛剛編譯的可執行檔了。但是這樣做的話,就一定要記得先編譯後運行,才會運行最新版本的程式,有可能會導致混亂。

這個時候,默認配置就可以幫到你了。先去下載Git,然後安裝,個人很推薦安裝TureType font(第三頁最下方),第四頁就選擇第二項,其他按默認就好了。安裝結束後,將

#32位系統
%ProgramFiles%Git/bin
#64位系統
%ProgramFiles(x86)%Git/bin

加入環境變數PATH(要先用資源管理器打開目錄,然後再將絕對目錄添加到變數裏),記得與前面的目錄有一個英文分號的間隔,保持C++.sublime-build在默認狀態,重啟Sublime Text 2,就可以享受一鍵完成編譯後運行的服務了。

Update:MingGW在升級到4.5.x以及之後的版本,對所有函式庫的連結方式都改成動態連結,所以編譯出的可執行檔在執行的時候, 需要libgcc_s_dw2-1.dll與libstdc++-6.dll才能運作。(這兩個dll都可以在MingGW的安裝目錄下的bin文件夾裏面找到)如果想編譯出單一的可執行檔,就需要在參數裏加上-static,這樣就需要改動配置文件了。將C++.sublime-build裏的

"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]

對應替換為

"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}", "-static"],
"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' -static && '${file_path}/${file_base_name}'"]

保存並重啟Sublime Text 2,之後就可以编译出可單獨執行的可執行檔了。

三、安裝插件

除了強大的文本編輯器功能以外,使Sublime Text 2如此受青睞的,還有強大的插件。首先我們要安装Package Control,執行Ctrl +` 调出命令行,输入下面这段神奇的命令

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

完成運行之後重啟Sublime Text 2,然後就可以執行Ctrl+Shift+P調出命令行窗口,輸入“Package Control : Install”(對於這個開始選幾個頭字母來輸入吧),就可以安裝插件了。這裡有幾個推薦安裝的插件:

ConvertToUTF8:ST2只支持utf8编码,该插件可以显示与编辑 GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS 等编码的文件
Git:源代码版本控制
Gits:可以轻松集成 GitHub
SFTP:直接编辑 FTP 或 SFTP 服务器上的文件
ZenCoding:这货对于前端的同学来说不得了,可以超快速编写HTML文件
Clipboard History:剪切板历史
WordPress:集成一些WordPress的函数,对于像我这种经常要写WP模版和插件的人特别有用!
HtmlTidy:清理与排版你的HTML代码
PHPTidy:整理与排版PHP代码
JsFormat:整理JS文件
YUI Compressor:压缩JS和CSS文件

四、效率編輯

對於一個已存在的工程,可以通過Sublime Text 2的Open Folder這個功能來打開工程的全部檔,其中目錄結構也同樣保留,這個功能對於查看開原始程式碼是非常有幫助的。
而Sublime Text 2的快速搜索功能對於定位代碼中的函數、變數等是非常有説明的。
使用Ctrl + P可調出Sublime Text 2的快速搜索介面,其功能主要包括:

  • 可以快速跳轉到當前專案中的任意檔,可進行關鍵字匹配
  • 用 @ 可以快速列出/跳轉到某個函數
  • 用 # 可以在當前檔中進行搜索
  • 用 : 加上數位可以跳轉到相應的行
  • 可通過關鍵字轉到某個檔同時加上 @ 來列出/跳轉到目的檔案中的某個函數,或是同時加上 # 來在目的檔案中進行搜索,或是同時加上 : 和數字來跳轉到目的檔案中相應的行

常用的快捷鍵:

Tab 縮進
Shift+Tab 去除縮進
Ctrl+Enter 插入行後
Ctrl+Shift+Enter 插入行前
Ctrl+Shift+UP 與上行互換
Ctrl+Shift+DOWN 與下行互換
Ctrl+Shift+V 粘貼並自動縮進(無需擔心代碼格式問題了,建議拋棄Ctrl+V)
Ctrl+/ 行注釋
Ctrl+Shift+/ 塊注釋
Ctrl+M 跳到游標匹配位置(匹配位置會有底線,一般為括弧)
Ctrl+Shift+M 選擇括弧內的內容(繼續按則繼續選擇父括弧)
Ctrl+J 合併選擇的多行
Ctrl+L 選擇整行(繼續按則選擇下行)
Ctrl+K,Ctrl+K 從游標處刪除至行尾
Ctrl+K,Ctrl+Backspace 從游標處刪除至行首
Ctrl+Shift+K 刪除整行
Ctrl+Shift+D 複製游標所在整行,插入在該行之前

Ctrl+D 選中游標所在處詞(繼續按就向下繼續選相同詞)
Alt+F3 選中與游標處相同的全部詞
按住Ctrl左鍵選擇代碼,可選不連續代碼
按住Shift右鍵(或者僅按滑鼠中鍵)框選代碼,可選矩形區代碼
Ctrl+Shift+L 同時編輯所選行

Ctrl+K,Ctrl+U 改為大寫
Ctrl+K,Ctrl+L 改為小寫

Ctrl+Shift+[ 折疊代碼
Ctrl+Shift+] 展開代碼

Ctrl+P 跳轉面板
Ctrl+Shift+P 控制台
Ctrl+G 跳到行
Ctrl+R 調到識別字

F11、Shift+F11 兩種全屏模式,可以用控制台控制顯示哪些部件

這裡只是常用的快捷鍵,還有的沒有列出來。如此配置完以後,我們就可以用Sublime Text 2來極其流利地編寫程序了。

Sublime Text 2 配置C++環境