1. 程式人生 > >Ubuntu14.04下使用sublime text3編寫C++程式碼自動差錯總結

Ubuntu14.04下使用sublime text3編寫C++程式碼自動差錯總結

sublime3是一款功能強大的編輯軟體,但是在Ubuntu下使用其進行C++軟體開發的時候會出現一些問題,需要技巧去解決,

1.首先就是如何在sublime3中編寫漢字,推薦下面的文章,但是中間會有一點小錯誤,需要自己做相應的修改,配置完成後可能會出現一點問題,關機重啟基本上就可以了。

http://jingyan.baidu.com/article/f3ad7d0ff8731609c3345b3b.html

2.還存在一根問題就是如見自動檢測C++的語法和程式碼錯誤以及自動補全功能,其實就是進行C++的程式碼編寫,這裡需要安裝相應的外掛

2.1首先安裝package control外掛,這個比較簡單,網上教程多得是

Package Control是一個用於管理外掛的好工具,可以用於安裝、刪除、禁用相應的外掛,常用的外掛都能在上面找到。其原始碼地址在https://github.com/wbond/package_control_channel上,安裝非常方便,使用git將該程式碼先克隆下來即可,然後拷貝到~/.config/sublime-text-3/Packages/目錄下並命名為Package Control即可。(也可以直接在github上打包下載,然後解壓複製到~/.config/sublime-text-3/Packages/目錄下並命名為Package Control)。

cd ~/.config/sublime-text-3/Packages/
git clone https://github.com/wbond/package_control_channel.git Package\ Control
或者開啟sublime_text然後按快捷鍵ctrl+`(Esc下面那個鍵),在彈出的命令輸入視窗輸入下面資訊回車即可:
重新啟動SublimeText 3,然後使用快捷鍵Ctrl + Shift + p,在彈出的輸入框中輸入Package Control則可以看到Install Package的選項,選擇它後一會兒(看左下角的狀態)會彈出外掛查詢及安裝視窗,輸入想用的外掛,選中回車即可。如果用於C/C++開發建議安裝C++ snipptes,ConvertToUTF8,SublimeAStyleFormatter外掛,具體代表什麼意思baidu一下就清楚了。
2.2下面就是安裝SublimeClang外掛
SublimeClang是Sublime Text中唯一的C/C++自動補全外掛,功能強大,自帶語法檢查功能,不過最近作者已經停止更新了,目前只能在Sublime Text 2的Package Control中可以找到並自動安裝,在SublimeText 3中只能手動通過原始碼安裝,其程式碼線在https://github.com/quarnster/SublimeClang中。具體安裝步驟如下:
安裝相關軟體
    sudo apt-get install cmake build-essential clang git
    cd ~/.config/sublime-text-3/Packages
    git clone --recursive https://github.com/quarnster/SublimeClang SublimeClang
    cd SublimeClang
    cp /usr/lib/x86_64-linux-gnu/libclang-3.4.so.1 internals/libclang.so      #這一步很重要,如果你的clang庫不是3.4版本的話,請將對應版本的庫拷貝到internals中
    cd src
    mkdir build
    cd build
    cmake ..
    make
一切成功的話將會在SublimeClang/internals目錄中生成libcache.so庫檔案。重啟Sublime Text,然後按快捷鍵Ctrl + `(Esc下面那個鍵)開啟自帶的控制輸出,看看有沒有錯誤,如果沒有錯誤就說明一切OK了。接下來就是配置自己的檔案了,按下ctrl + shift + p快捷鍵,在彈出的輸入框中輸入 sublimeclang settings ,然後選擇帶User那一行,在開啟的檔案中輸入如下資訊:
{
    "show_output_panel": false,
    "dont_prepend_clang_includes": true,
    "inhibit_sublime_completions": false,

    "options":
    [
        "-std=gnu++11",
        "-isystem", "/usr/include",
        "-isystem", "/usr/include/c++/*",
        "-isystem", "/usr/include/c++/4.8",
        "-isystem", "/usr/include/c++/4.8/*",
        "-isystem", "/usr/include/boost",
        "-isystem", "/usr/include/boost/**",
        "-isystem", "/usr/lib/gcc/x86_64-linux-gnu/4.8/include",
        "-isystem", "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/*"
    ]
}
註釋:我的gcc版本為4.8,如果你的不是請替換對應的版本,在#include相應的標頭檔案後儲存當前檔案,在接下來的操作中將更快的提示所包含在標頭檔案的函式或者變數。