2015年11月10日 星期二

[Linux] 在Ubuntu 12.04上使用「Sublime Text 3 + Ctags + Cscope」取代Source Insight + 安裝HighlightWords套件 + 安裝Function Name Display套件

Step1.  在Ubuntu上安裝Ctags與Cscope
sudo apt-get install cscope
sudo apt-get install exuberant-ctags


Step2.  在Sublime Text上安裝Ctags與Cscope套件
(1) 先安裝Package Control:選取「View -> Show Console」,貼上「https://packagecontrol.io/installation」網址中的指令按enter安裝
(2) 選取「Preference -> Package Control」,打i後選install package按enter,打ctags按enter安裝
(3) 選取「Preference -> Package Control」,打i後選install package按enter,打cscope按enter安裝



Step3.  tracing設定
Ctags部分:
(1) 在Sublime Text中,選取「File -> Open Folder」
(2) 選擇欲tracing的目錄後,左邊會出現樹狀目錄,對最上層目錄按右鍵選「Ctags: Rebuild Tags」
(3) 待tag建立後可隨意開啟一隻檔案並對著想查詢的function按右鍵,如果有出現「Navigate to Definition」且可以跳到該function定義的地方即代表成功。

Cscope部分:
(1) 在Command Line中,cd到欲tracing的目錄下打:cscope -bqkR
     -b: 建立索引文件
     -q: 建立cscope.out,加速索引,該檔案包含
     -k: 建立索引文件時不會去搜尋/usr/local/目錄
(2) 隨意開啟一隻檔案對想查詢的function按右鍵,如果有出現「Cscope: Look up symbol」以及「Cscope: Look up function definition」且點選後按enter有出現視窗即代表成功。


PS.
1. 若出現「Could not find scope database: scope.out」錯誤訊息代表忘記下「cscope -bqkR」
2. 若出現:「Cscope ERROR: cscope binary "cscope" not found!」錯誤訊息代表Cscope執行檔路徑錯誤,請到「Preference -> Brows Packages -> User -> CscopeSublime.sublime-settings」中修改Cscope的執行檔路徑。例如:「"executable": "/usr/local/bin/cscope"」。
3. 將"prompt_before_searching"屬性修改為false,在用Cscope搜尋時可省去按enter的步驟。
4. 若找不到Cscope的plugin檔可到:「https://github.com/ameyp/CscopeSublime/」下載。
5. Cscope預設不會trace「.cpp」以及「.java」檔,但可以自行建立資料庫使其能夠trace:
find . -name '*.cpp' >> cscope.files
find . -name '*.java' >> cscope.files
cscope -bqkR

補充command:
Ctrl + R 可查看此檔中所有function
Command + P 可搜尋文件
Command + Shift + T 可重新打開剛剛關閉的分頁

參考網頁:
http://hwchiu.logdown.com/posts/144341-cscope



安裝HighlightWords套件:
網址:https://packagecontrol.io/packages/HighlightWords

Step1: 使用Package control直接安裝
Step2: 選擇「Preference -> Package Settings -> HighlightWords
Step3: 將Settings-default的內容複製到Settings-user,並在Settings-user做修改
Step4: 將你喜歡的顏色的字選取起來,去「View -> Show Console
Step5: 貼上這個字串:view.scope_name(view.sel()[0].begin())
Step6: 按enter讀出色碼字串,用於後續客製化
Step7: 在Settings-user中的"permanent_highlight_keyword_color_mappings"中客製化keyword的顏色

ex:
"permanent_highlight_keyword_color_mappings": [
{"keyword": "Hello", "color": "色碼字串1"},
{"keyword": "World", "color": "色碼字串2"},
]

安裝Function Name Display套件:
參考:
http://ephrain.pixnet.net/blog/post/63393136-%5Bsublime-text%5D-%E7%94%A8-function-name-display-%E9%A1%AF%E7%A4%BA%E5%87%BD%E5%BC%8F%E6%89%80%E5%B1%AC

沒有留言:

張貼留言