1. 程式人生 > >Sublime for C++

Sublime for C++

  • 本教程是 Windows下使用Sublime Text 3除錯/執行 C/C++ 程式
  • 新版的ST3配置好環境變數後可以直接支援C++的編譯執行
  • 這裡配置可以彈出cmd對話方塊

環境

  • 系統:Windows 8.1 64bit
  • 軟體:Sublime Text 3 Build3065 x86
  • 編譯軟體:MinGW

下載

配置環境

  • 解壓MinGW至目標目錄,本次安裝的解壓目錄為C:\MinGW
  • 設定環境變數。右擊我的電腦,屬性–>高階–>環境變數。
    1. 在系統環境變數 PATH 裡新增 C:\MinGW\bin(如果裡面還有其他的變數,記得新增英文分號;)
    2. 新建 LIBRARY_PATH 變數,在值中加入 C:\MinGW\lib。(標準庫位置)
    3. 新建 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