Sublime for C++
阿新 • • 發佈:2019-02-04
- 本教程是 Windows下使用Sublime Text 3除錯/執行 C/C++ 程式
- 新版的ST3配置好環境變數後可以直接支援C++的編譯執行
- 這裡配置可以彈出cmd對話方塊
環境
- 系統:Windows 8.1 64bit
- 軟體:Sublime Text 3 Build3065 x86
- 編譯軟體:MinGW
下載
配置環境
- 解壓MinGW至目標目錄,本次安裝的解壓目錄為C:\MinGW
- 設定環境變數。右擊我的電腦,屬性–>高階–>環境變數。
- 在系統環境變數 PATH 裡新增 C:\MinGW\bin(如果裡面還有其他的變數,記得新增英文分號;)
- 新建 LIBRARY_PATH 變數,在值中加入 C:\MinGW\lib。(標準庫位置)
- 新建 C_INCLUDEDE_PATH 變數,值設為 C:\MinGW\include。
- 測試MinGW是否安裝成功。Win+R,執行cmd命令列,在cmd視窗中執行g++ -
- 以管理員身份執行sublime text 3, 進入選單工具-編譯系統-新編譯系統
輸入如下內容,並將檔案儲存為CPP.sublime-build(注意不要修改檔名和大小寫)。
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}" ],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"encoding":"cp936",
"selector": "source.c",
"variants":
[
{
"name": "Run",
"cmd": ["cmd","/C","start", "cmd","/c", "${file_path}/${file_base_name}.exe & pause" ]
}
]
}
- Ubuntu 版
{
"shell": true,
"cmd": ["g++ \"${file}\" -o \"${file_path}/${file_base_name}\" && ./\"${file_base_name}\""],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"cmd": "./\"${file_base_name}\""
}
]
}
- 測試 編譯之前在工具—>編譯系統 選擇CPP。自己在SublimeText寫一個C++程式,
- Ctrl + B 編譯
- Ctrl + Shift + B 編譯後在CMD裡執行。
外掛
必裝外掛
- Emmet 提高HTML & CSS3編寫效率
- SublimeLinter 強大的程式碼檢測的工具
- SideBarEnhancements 加強在側欄目錄樹中右鍵的選項
- Evernote 用Sumlime寫Markdown格式的筆記,同步到Evernote
- DocBlockr 快速生成註釋
- SublimeCodeIntel 強大的程式碼提示外掛, 用上你就會喜歡上他。
ConvertToUTF8
- ConvertToUTF8是用來把GB2312和GBK檔案轉換成UTF8編碼的,作為一個程式設計師,使用UTF-8編碼來儲存是一個好習慣,儘量不要使用GB2312和GBK編碼來寫程式碼
Codecs33
- 有時候碰到GB2312的檔案用了ConvertToUTF8還是會亂碼,這時候可以裝個Codecs33. eg:圖形學的課件中就有一個
Alignment 等號對齊
- 選中並按 Ctrl + Alt + A 就可以使其按照等號對齊
SublimeAStyleFormatter 程式碼格式化
- Ctrl + Alt + F
C Improved 更加人性化的C語言著色方案。
- View -> Syntax -> Open all with current extension as -> C Improved
DocBlockr 生成大塊的註釋
- 自動生成大塊的註釋,並且可以用tab在不同內容之間切換,很爽的
- 輸入 /** 然後按回車
AllAutocomplete 增強版自動提示
- Sublime自帶的可以對當前檔案中的變數和函式名進行自動提示,但是AllAutocomplete可以對開啟的所有檔案的變數名進行提示,增強版的程式碼自動提示符
- 模板庫的程式碼檔案要放到同目錄下,檔名不能有中文,這個Bug可能以後會改吧
CTags 跳轉到指定函式宣告
- ctags 這個外掛能跨檔案跳轉,跳轉到指定函式宣告的地方,使用package control 搜尋ctags 進行安裝(安裝ctags外掛就可以了,
- 還有一個 CTags for PHP外掛沒什麼用)。
- 注意安裝好外掛後需要安裝ctags命令,將ctags.exe檔案放在一個環境變數的資料夾。
- 或者在 Settings-Default 中新增: “command”: “/user/bin/ctags”,
- 開啟cmd, 輸入ctags,如果有這個命令,證明成功了。
- ubuntu下安裝執行命令:sudo apt-get install exuberant-ctags
- 然後在sublime專案資料夾右鍵, 會出現Ctag:Rebuild Tags 的選單。
- 點選它,然後會生成.tags的檔案。
- 然後在你程式碼中, 游標放在某個函式上, 點選Ctrl + Shift + 滑鼠左鍵 就可以跳轉到函式宣告的地方。
- Ctrl + Shift + 滑鼠左鍵 回到原來位置
sublimecodeintel 程式碼補全 函式跳轉
- Alt + 滑鼠左鍵 也能和ctags一樣跳轉到函式宣告的地方。
SideBarFolders:開啟的資料夾都太多了,再用這個來管理資料夾
- 安裝後會在選單欄多出Folders來管理資料夾
PlainTasks:又是一個外掛頂一個軟體的東東
- TaskPaper 的功能 自行百度
- 帶上TODO的本文會被PlainTasks識別
- 例如新建 todolist.txt 的檔案
Search Stack Overflow 直接在Sublime中開啟瀏覽器搜尋Stackoverflow
- Ctrl + Shift + P 開啟 Stackoverflow: search form input,輸入問題,自動開啟瀏覽器
Sublimerge Pro 程式碼比對工具
- 先複製要比對的程式碼
- Ctrl + Alt + D 在新視窗中比對
- 下面是官方介紹
In file view:
[ctrl]+[alt]+[d] - display Quick Panel with Sublimerge commands available for current view
In diff view:
[/] - display Differences Navigator
[down] - select the next difference (only single selection is possible)
[up] - select the previous difference (only single selection is possible)
[left] - merge selected change(s) from right to left
[right] - merge selected change(s) from left to right
[shift]+[left] - merge all changes from right to left
[shift]+[right] - merge all changes from left to right
[ctrl]+[enter] - toggle edit mode (currently in 2-way diff view only)
[ctrl]+[alt]+[left click] - select/deselect change block (multiple selection is possible)
[ctrl]+[shift]+[left click] - merge selected changes from left to right
[ctrl]+[shift]+[right click] - merge selected changes from right to left
In directories diff view:
[enter] - enter subdirectory (if differs) or diff selected text file
[down] - select next file/directory
[up] - select previous file/directory or navigate one level up
[ctrl]+[alt]+[left click] - select/deselect change block (multiple selection is possible)
[right] - apply selected change from left to right
[left] - apply all changes from left to right
[shift]+[left] - apply selected change from right to left
[shift]+[right] - apply all changes from right to left