gtagsがすごく良いぞ

GNU Global(ソースコードタグシステム)

最近これの便利さに気付いてemacsでソース書く時にかなり活用しています。

使い方も簡単。

設定
  • GNU GLOBALのインストール
  • gtags.elのインストール
  • .emacsに以下を記述
(require 'gtags)
(autoload 'gtags-mode "gtags" "" t)
(setq gtags-mode-hook
      '(lambda ()
         (local-set-key "\M-t" 'gtags-find-tag)
         (local-set-key "\M-r" 'gtags-find-rtag)
         ))
(add-hook 'c-mode-common-hook
          '(lambda()
             (gtags-mode 1)
             (gtags-make-complete-list)
             ))
操作

プロジェクトのルートディレクトリで

gtags -v

そうするとディレクトリに以下のファイルができます

GTAGS,GSYMS,GPATH,GRTAGS

後はemacsを起動してソースファイルを開き関数にカーソルを合わせて

  • 参照元から定義へ M-t
  • 定義元から参照へ M-r

簡単に飛べてすごく楽ちんです。