2011年5月21日 追記。
gtags_wrapper.mac のバグ修正版を github にアップしました。
https://github.com/ohtorii/gtags_for_hidemaru
「GNU GLOBALを秀丸エディタから使うマクロ」がだいぶ安定してきたので、秀丸マクロライブラリに投稿しました。近日中に公開されると思います。
以下で公開されています。
http://hide.maruo.co.jp/lib/macro/gtags_jump.html
GNU GLOBALとは
GNU GLOBALを使用すると関数が「呼び出されている位置」を一覧表示できます。「定義されている位置」ではなく「呼び出されている位置」です。
(本家)http://www.tamacom.com/global-j.html
詳しい使い方はググってもらうとして、ここでは秀丸エディタの話をします。
呼び出し元を表示
単語の上でマクロを実行するとメニューが表示されます。「呼び出し元を表示」を選択すると・・・
呼び出している位置が一覧表示されます。表記は秀丸形式なのでそのままタグジャンプとバックタグジャンプができます。
シンボルを探す
グローバル変数とかを探すようです・・・すいませんよく分かりません。
ファイルを探す
「ファイル名・ディレクトリ名」の一部からファイルを探し出します。例えばユーティリティ系のソースコードは、このような命名規則になっているはずです、
- util_foo.cpp
- util_bar.cpp
- util_hoge.cpp
ダイアログにutilと入力するだけで一覧表が作られ、すぐにタグジャンプできるので地味に便利です。既にタグファイルが作ってあるのでファイラーでファイルを探すよりも手っ取り早いです。
utilと入力して、
utilの検索結果
このファイルに含まれる関数一覧を表示
秀丸エディタにある機能なのでまず使いません。これもついでなので用意しておいた程度です。
結果
関数名の一部から関数名を調べる
bash等で利用可能な補完リストを作るそうです。これもついでなので用意しておいた程度です。
printを入力。
補完リストが生成されます
tagsファイルを作るGUIラッパー
設定ファイル(.ini)
設定ファイル(gtags_config.ini)で多少のカスタマイズが効きます。
[Search] ;GNU Globalで何も見つからなければ下記パスから再検索する ;0-9まで指定可能 Path0=D:\project\my_lib\trunk Path1=K:\project\boost\ Path2=K:\foo\bar\stlport
開発用ディレクトリが「複数パス・複数ドライブ」にまたがっていても、それなりにうまく検索できます。
注意
最後に
- 「手風琴さんのCTagsJumpをメインで使いつつ、本マクロをサブで使用」という使い方を想定しています。