嘛,總之有了追code的需求
自然得去找出一些工具
看看這cscope+vim的組合在linux下好像還滿主流的
就try try 看囉
官網
http://cscope.sourceforge.net/
在ubuntu12.04下
安裝
sudo apt-get install cscope
使用上第一步是要創立"cscope的資料庫"
大概分成兩種case
1.簡單的情況
在project的跟目錄下直接下 cscope -R
就直接將所有的檔案建立資料
2.但是,有些時候我們並不需要所有的file
這時候就要先建立一個list,讓cscope只對裡面的檔案建立資料
如果我們只要目錄中的java檔時,就使用 find . -name '*.java' > cscope.files
再 cscope -b -q -k 就可以建立資料
在複雜的project中可以藉由更複雜則filter來減少我們的目標(如linux kernel)
接著就可以使用 cscope -d 進入cscope的世界(?)了
想要找什麼definition、function...的就隨心所欲了
啊 然後上下畫面的些換是用tab
一開始傻傻地把鍵盤上的按鍵都摸了一遍orz
不過這樣其實還是麻煩
因為看完後 想到要找什麼得跳出來再找
這點就要靠vim了
再ubuntu12.04裡的vim預設就有支援cscope
可以直接在vim底下輸入 :cs XXXXX 就可以使用cscope了
不知道指令的話 只輸入 :cs 就說明得很清楚了
但是 這樣其實還是很麻煩
查什麼都要打一大堆字
這時我們就需要vim的cscope plugin
直接從官網上抓下來用就OK了
在 ~/.vim/plugin 下 輸入 wget http://cscope.sourceforge.net/cscope_maps.vim
(plugin的路徑和vim但設置有關)
那就支援一票(?)快捷鍵了
http://rickey-nctu.blogspot.tw/2009/02/vim-srcexpl.html
Ctrl+\ s "s表Symbol,列出所有參考到游標所在字串的地方,包含定義和呼叫。
ctrl+\ g "g表Global,與ctags的Ctrl+]相同。
ctrl+\ c "c表Call,列出所有以游標所在字串當函數名的地方。
ctrl+\ t "t表Text,列出專案中所有出現游標所在字串的地方。
ctrl+\ f "f表File,以游標所在字串當檔名,開啟之。
ctrl+\ i "i表Include,以游標所在字串當檔名,列出所有include此檔的檔案。
ctrl+\ d "d表calleD,以游標所在字串當函式名,列出所有此函式呼叫的函式。
安裝了plugin後可能會有一些錯誤訊息或是快捷鍵不work的狀況(都遇到了 囧)
就需要透過修改一些設定來解決
http://linux.chinaunix.net/techdoc/desktop/2009/03/29/1106223.shtml
大概是這樣
工具裝好了就上工吧~
沒有留言:
張貼留言