2013年4月15日 星期一

CTags 使用

Trace C Code 的Ctags,
沒辦法誰叫 source insight 這麼貴.(攤手)

要下載pacakge的可以參考這篇文章

CTags man page: 教你怎麼用指令
最常用的就是 ctags -R -f .tags. 在當前目錄以下的所有檔案建立tag

流程就分成兩步,
1. 把所有的想建立tag的 c,h 檔案都path都寫到 .tags, 這個tagfile可以自己命名. 重點是下一部產生的 .tags
2. 用ctags.exe讀取剛剛產生的tagfile,產出ctag format的檔案.
在 Sublime Text 選擇建立rebuild tags, 這樣就可以把source code跟tag建立起來了

1)建立source

# find ./ -path './drviers/iav2' -prune -o -path './drivers/gpu' -prune -o -name "*.[ch]"  -print > tag_source

2)產生 tags 檔, 

sublime text 2 只接受 .tags 的格式,
# ctags -L tag_source -f .tags
=> -L, 讀取含有檔案列表的文字檔
=> -f, 產出 tags 檔案

PS: .tags 檔案要存放在當前工作目錄下,要不然Sublime Text 會找不到

PS:
解釋這裡 find 的用法
-prune ,忽略不看的意思
-path, 跟 -name很類似,但是這個是用來指定目錄路徑
-o , -or 的意思,用來作邏輯表示
-name, 找檔名符合我們的表示
"*.[ch]", 任何是以  '.c' 或 '.h'結尾的檔案
整串組合起來的意思是
find .
=> 找尋當前目錄下所有的檔案,
-path './drivers/iav2 ' -prune -o
-path './drivers/gpu'  -prune -o
=>其中目錄路徑為./drivers/iav2或./drivers/gpu都省略不看
-name "*.[ch]
=>其它的剩餘目錄中如果有檔案結尾是.c或.h的
-print
=>全部列印出來

# find ./ -path './drviers/iav2' -prune -o -path './drivers/gpu' -prune -o -name "*.[ch]"  -print
=> 找尋當前目錄下所有的檔案,其中目錄路徑為./drivers/iav2或./drivers/gpu都省略不看,其它的剩餘目錄中如果有檔案結尾是.c或.h的全部列印出來

2013年4月13日 星期六

Sublime Text 2 設置

有人介紹就用看看,雖然一開始的設定很麻煩.
但是把cscope和ctags建立起來之後,trace code到是還滿方便的.

[Download]

SublimText2 portable [here]
CSCOPE:  plug-in[here]  , windows的執行檔 [here]
CTAGS: 除了要裝plug-in[here]之外,要另外下載ctags for windows的執行檔 [here] 
我建議都是放在跟Sublime Text 2同一個目錄下.

[Sublime Text 2]

由於下載的是Portable版本,所以在想要存放的位置解壓縮就可以.
首先要安裝package control的套件
[自動]
1). ctrl + ` 叫出 console
2).複製以下內容到console command line
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ',' ')).read()); print 'Please restart Sublime Text to finish installation'
3)看到結束之後,關掉重開Sublime Text 2
4)在工作列就可以看到 Preferences -> Pacakge Control ,表示安裝成功
[手動]
1). 在工作列進入Preferences->Browser Packages,會跳出sublimetext2目前的package目錄
2).進入上一層目錄(Data)之後,會看到Installed Packages,進入這個目錄
3). 下載  Package Control.sublime-package , 把它放在剛剛的Install Packages的目錄裡.
4).關掉重開Sublime Text 2
5).在工作列就可以看到 Preferences -> Pacakge Control ,表示安裝成功

[CTAGS]  

執行檔,
把上述的ctags執行檔放在 Sublime Text2 的目錄之中,

Plug-in [自動]
剛剛裝完Package control之後,就可以透過它來安裝我們想要的plug-in了.
1).Preferences -> Package Control,執行之後可以看到如下的浮動視窗.
請選擇 Install Package,等待一段時間之後會看到可以下載的Package Lists

 看到ctags按下去就對了,之後它就

Plug-in [手動]
原則上自動下載應該要沒問題,只是我裝的時候遇到SSL認證失敗,真怪.

把下載好的ctags plug-in 解壓縮放在 Data/Packages 下(參考上述的Package Control手動安裝),並把"ctags58"名字改成 "CTags"

一樣進入 Package Control Panel

選擇 "Enable Package ", 選擇CTags,過一段時間之後再重啟 Sublime Text 2

現在你可以在工作列 Find 找到 CTags囉,
Rebuild Tags就大功告成

不過現在什麼東西都還不能做,還沒用ctags.ext建出tags阿(抱頭)

[CSCOPE Plug-in]
執行檔,
把上述的CScope執行檔放在 Sublime Text2 的目錄之中,

Plug-in [手動]

把下載好的Cscope plug-in 解壓縮放在 Data/Packages 下(參考上述的Package Control手動安裝),並把名字改成 "Cscope"

一樣進入 Package Control Panel

選擇 "Enable Package ", 選擇Cscope,過一段時間之後再重啟 Sublime Text 2

現在按右鍵可以看到CScope的選項了


晚點再寫一篇關於CTags的使用好了.