ソースコードリーディングをするときにctagsを使いたい

Posted by ひつまぶし食べたい on Tuesday, December 16, 2014

きっかけ

とある事情によって、Fluentdプラグインを自作する or 世間の良い実装のプラグインを見つける必要がありました。 でも、Fluentdを真面目に使ったことがないので、いまいち眺めていても難しいなー、と思っていました。 そもそも、Rubyもまともに書いていないため、ソースを見ても、Rubyのものなのか、Fluentdで定義されているのかが、 ぱっと見でわからず、いちいち時間がかかっていた感じです。

ソースコードを読む上で支援してくれるものがあったらなー、と思っていたら、タグをつけると良いと聞いたので、やってみます。

流れ

今回はmacでやることにします。 brew がインストールしてあることにしています。

  1. Exuberant Ctagsのインストール

     :::sh
     brew install ctags
    
  2. tagの生成(Emacsから使うには、etagsと呼ばれる形式で生成)

     :::sh
     # 読みたいソースのトップに移動
     cd /home/me/app
     # タグの生成 (Emacs の場合)
     ctags -Re
     # タグの生成 (Vim の場合)
     ctags -R
    
  3. コードリーディング

    1. Emacs の場合

      キー意味
      M-.ジャンプ(関数, クラス)
      C-u M-.次の検索
      C-u – M-.前の検索
      M-*元の場所
    2. Vim の場合

      いつも以下のサイトを参考にして生きている。

      http://archiva.jp/web/tool/vim_ctags.html


comments powered by Disqus