2013年3月25日 星期一

source code tag system

    因為最近要開始看很長很長的 source code。想說找個方便的 tag 工具。就想起從前有用過一個很好用的 tag system。叫做 gnu global 。他看中他的特色是這一點
support C, C++, Yacc, Java, PHP4 and assembly. (definition and reference)
    這意味著我可以很快的從一堆 source code 中找出物件在哪裡定義,有哪些程式碼參考他。

    要使用 global 前,要先用 gtags 作索引。做完索引後就可以開始使用了。下面是我常用的用法。



global pattern
找出 pattern  的定義

global -c prefix
找出 prefix 開頭的

    你可以執行 globash 程式, 這個程式提供一個方便的界面,讓你可以快速的找出function definitions、function function definitions 等資訊。

    以下是我發現我感到興趣,類似 global 的工具


  • codesearch:我對這個工具有興趣,主因是他是用 golang 寫的。
  • cscope:剛剛看了他的官網,感覺起來也蠻強的。不過我沒用過。
  • ctags:好久的東西,只有在為 vim 加 tag system 時才會用到
  • docfetcher:圖形界面的索引工具,不過他不是專門拿來索引程式碼的。不過拿來搜索程式碼效果也算不錯。很長一段時間我是用 docfetcher 來索引各種文件(含程式碼)。

沒有留言:

張貼留言