ctagsbr
ver 1.00
ctags GUI フロントエンド
(C,C++のソース構造ブラウザ)
(C)2003 CatFish
URL http://catfish.virtualave.net/ctagsbr/
- このソフトはフリーウェアとしますが、著作権は作者である私が保持してるつもりでいます。
バイナリ、ソースの改変、引用、再配布は商用、非商用に関わらず自由とします。
- ctagsに関する著作権等については、もちろんながらこのプログラムのライセンスとは関係なく、ctagsのライセンスが適用されます。
- 雑誌やWebページへの掲載、雑誌CD-ROM等への収録などマスメディアに公開する際の許諾については、前もってここで全部許諾します。お問い合わせの際、作者からの返答なき場合は許諾したものとみなしてください。
お問い合わせは、電気メールで、 catfishsoft@yahoo.co.jp宛てにお願いします。
- このソフトを使用した為に生じた損害については、作者は一切の責任を負えませんので、負いません。
- 作者はあんまりパソコンを使う暇がないので、バージョンアップや要望への対応は期待しないで下さい。

VCのIDEが恋しい。
- ctags(ソースコードに対するタグファイルを生成するプログラム)のWindows用GUIフロントエンドです。
このプログラムはctagsが吐いたタグファイルを解析するだけです。
ゆえに、ソースの解析に関する機能については、完全にctagsに依存しています。
- C,C++のソースを元にctagsが吐いたタグファイルを解析し、クラス構造等をツリー表示します。
- ctagsは多様なプログラミング言語に対応していますが、本プログラムはC,C++のみに対応しています。
- ツリーから外部エディタを起動し、該当部分を表示することが可能です。
- このプログラムからctagsを起動し、タグファイルの更新、あるいは新規作成することが可能です。
- ソースを公開しています。
- サポートは当てになりません。
仕事でLinuxのプログラムを組んでるけどLinuxホストはsambaで単なるファイルサーバ状態、Windows上でソース書くけどVCのIDE使いてー(含む作者)、というC++プログラマの欲求不満をちょっとだけ解消します。
- ctags(= Exuberant Ctags)のWindows版バイナリ
日本語の入ったソースを扱うのであれば、日本語対応版をお使いください。
2003年8月16日時点での入手先は、以下の通りです。
Exuberant Ctags公式ウェブ・サイト: http://ctags.sourceforge.net
日本語対応版公式ウェブ・サイト: http://hp.vector.co.jp/authors/VA025040
- エディタ
コマンドラインオプションで開くファイルと表示行が指定できるものを用意してください。
- Windows98以降のシステムなら動作すると思いますが、未検証です
作者はWindowsME+VC6.0SP5でこのソフトを開発しました。これ以外のOSなら、この開発環境よりは動作が安定していると推察されます。
その他、WindowsXPでの動作は確認しています。
参考までに、開発環境は CASSIOPEIA FIVA 206VL + WindowsMe + ctags5.5J1 +
秀丸エディタ です。
実行ファイル "ctagsbr.exe"
を適当なフォルダに置いてください。
起動すると、以下の設定ファイルが"ctagsbr.exe"と同じフォルダに自動作成されます。
| ファイル名 |
内容 |
備考 |
| ctagsbr.ini |
動作設定ファイル |
これを消すと、設定が初期状態に戻ります |
実行ファイル "ctagsbr.exe" と、設定ファイル
"ctagsbr.ini" を削除してください。
レジストリは使用していません。
最初にctagsとエディタに関する設定を行ってください。
次に、既存のタグファイルを開くか、ソースのあるフォルダを指定してタグファイルを新規作成してください。
正常にタグファイルが生成され、解析されると、ツリー状にソースの構造が表示されます。
エディタの引数の設定が適切であれば、ツリーのアイテムをダブルクリックすることでソースの該当する箇所がエディタで開かれます。
主要なコマンドを以下に書きます。
| [ファイル]メニュー |
機能 |
| タグファイルを開く... |
既存のタグファイルを開きます |
| タグファイルの更新 |
現在開いているタグファイルを更新します |
| タグファイルの新規作成... |
新たにタグファイルを作成します
対象となるファイル群の存在するフォルダを指定すると、タグファイルが生成されます
基本的に、単一のフォルダ内のソースファイルを対象とします |
| 最近使ったタグファイル |
最近使ったタグファイルの一覧から、開くタグファイルを選択します |
| 設定... |
設定ダイアログを開きます |
| アプリケーションの終了 |
このアプリケーションを終了します
終了の際、ウィンドウの位置とサイズは保存されます |
ツールバーには、以下のコマンドを実装してあります
- タグファイルを開く...
- タグファイルの更新
- タグファイルの新規作成...
- ctagsbrのバージョン情報
起動画面内の[設定]ボタンから設定画面を表示できます。
| [ctags設定]タブ |
| ctags実行ファイルの場所 |
ctags.exeへのパスを設定します |
| catgs実行時の引数 |
タグファイルを生成する際にctags.exeに与える引数を設定します
詳細については、ctagsのドキュメントを参照してください初期設定は
-R --fields=+afikKlmnsSz
になっています |
| [エディタ設定]タブ |
| エディタ実行ファイルの場所 |
エディタ実行ファイルへのパスを設定します |
| エディタ実行時の引数 |
ctagsbr.exeのツリーからエディタを起動する際に与える引数を設定します
以下の記述子があると、対応する要素に展開されます
- %f:対象ファイルへのパス
- %l:行番号
- %e:タグファイル拡張コマンドフィールド
- %t:タグ名
- %%:'%
参考までに、秀丸エディタを利用する場合は
/j%l "%f"
という設定で良好に動作します |
- このプログラムから新規作成されるタグファイルの名前は 'ctags'
としてあります。
これは、ctagsの標準の生成ファイル名(tags)とは異なります。
秀丸エディタの生成するタグファイル名と競合するためにこのように変更してありますが、気に入らない場合は、設定ファイル
'ctagsbr.ini' の[CTAGS]セクションの'TAGFILENAME='の項目を変更することで任意のファイル名に変更してください。
- このプログラムは基本的に、単一のフォルダにあるソースファイル群を対象にタグファイルを生成します。
もし、他のフォルダにあるソースファイルもタグファイルに反映させたければ、ctags実行時の引数の設定により実現可能です。以下に例を挙げます。
-R --fields=+afikKlmnsSz "C:\My Framework" :対象フォルダに加えて、"C:\My
Framework"フォルダ内のソースファイルも解析します
- 日本語文字列の混在するソースを扱う場合、日本語対応版ctagsをお使いください。
英語版の場合、正常にソースが正常に解析されません。
- 日本語対応版ctagsの標準のエンコード形式はShiftJISです。
eucエンコードのソースを扱う場合は、ctags実行時の引数の設定に以下のようにエンコード形式の指定を追加してください。
-R --fields=+afikKlmnsSz --jcode=euc
エンコード形式の指定が正しくない場合、正常にソースが正常に解析されません。
ありがちな現象なのでご注意ください。
- このプログラムはUNCパスに対応しています(いるはずです)。
作者はLinux上のsambaで提供されるネットワーク上のファイルを、ネットワークドライブとして接続すること無しに使用できています。
ただし、動作検証が充分とはいえませんので、状況によっては不具合が発生するかもしれません。
- エディタに秀丸エディタを利用する場合、秀丸エディタ側でファイルの排他制御の設定を適切に行わないと、同一ファイルを開く場合に意図しない動作(ファイルを読み直す、上書き禁止で別ウィンドウで開いてしまう、等)をする場合があります。
秀丸エディタのメニューから、その他→動作環境→排他制御→秀丸で同じファイルを開く場合:同じファイルを2つ開くことを禁止する
を選択しておくことで良好に動作します。
他のエディタでも同様な設定が必要となるでしょう。
- VC6でコンパイル可能なはずです。
VC5ではコモンコントロールがらみで、そのままではコンパイル不可です。
- 作者の仕事がLinuxとWindowsを行ったり来たりなんで、MFCを使ってるかとおもえば生C++のファイルがあったりで、読みにくいかと思います。
タグファイルの解析部分は生C++を心掛けましたが、俺ライブラリ使用なのでやっぱり読みにくいかと思います。
- 簡素な状態でリリースしましたので、物足りない方は改良してください。
その際、こちらにご一報くださればうれしいです。使わせてもらいますから。
- まず、Exuberant Ctagsを開発された方々に感謝します。日本語対応を実現した東浩仁さん、マニュアルの日本語訳を作成された寺田隆平さんに感謝します。
ctagsと、その日本語対応版が無ければこのプログラムは存在し得ません。
- このソフトのほとんどの部分は、通勤電車の車内で作成されました。
快速、新快速の広いシートを提供してくださるJR西日本に感謝します。
でも、これ書いてる今、人轢いた。先頭車両に乗ってます。ぶるぶる。
- その他、ネット上でプログラミングに関する有益な情報を提供してくださっている皆様に感謝します。