Junk/31 のバックアップソース(No.13)



* Global検索 テスト版 [#j3be0108]
-ページ:     [[Junk]]
-投稿者:     [[fon]]
-優先順位:   低
-状態:       提案
-カテゴリー: 機能追加
-投稿日:     2007-03-21 (水) 02:31:12
-バージョン: 1.5.15.2

** メッセージ [#ib66e952]
■ GNU GLOBAL for SAKURA EDITOR

 流行?のGNU Globalのフロントエンドを作成しました。
 必要そうな機能は盛り込んだつもりです。
 評価と、バグについてのコメントをよろしくお願いします。
 枯れてきたら、是非メインの方へcommitして戴きたいと考えています。
 (きっと便利になると思います〜)

***GNU Globalの特徴 [#e96341a2]

  ちゃんとした説明は、GNU GLOBALのホームページを参照してください。

  ・関数などへのtagジャンプを行う目的のツール
  ・バイナリtagファイルの検索なので、結果が分かるのがGREPと比べてかなり速い
  ・ctagsで欲しかった関数の参照先の検索が行える
  ・タグファイル更新機能があり、ctagsのようにゼロから作り直さないので効率がよい(多分)
  ・ctagsのように構造体の定義などへジャンプできない模様(ctagsとの併用がベター)


***SAKURAでのGlobalの使い方 [#a57bd726]

0.globalの用意
  1.付属のreadme_global-patch.txtを参考に、globalをmake。
  2.sakura.exeのあるフォルダに生成されたexe類をコピー。

  ※とりあえず、Globalがどんなものか使いたい場合は、下記の
   「標準のglobal.exeを使いたい場合の文書」を行うと良い。

1.gtagsを作成
  1.メニューから「検索」→「タグファイルの作成」
  2.「Tagタイプ」を「GTAGS」にして、作成。

2.global検索
  1.メニューから「検索」→「Global」
  2.grepの要領で各オプションを指定して検索。

3.gtagsのアップデート
  1.メニューから「検索」→「Global」
  2.「タグファイルの更新」ボタンを押下。


***出力結果の読み方 [#yfb4ac50]

  1.常に【Global】という名前の1つのタブに結果が出力される。
  2.アウトライン解析で目的の検索結果へジャンプ。(既存機能)


***ファイル一覧 [#fea40b71]
  今回アップしたファイルの説明
  GnuGlobalForSakura.zip
   sakura.exe                  : GNU GLOBAL検索に対応したSAKURAのバイナリ
   readme.txt                  : この文書
   sakura_core_forRev1073.diff : rev1073 ベースのsakura用パッチ
   readme_global-patch.txt     : globalのパッチの当て方
   global-5.3.diff             : ver5.3 ベースのglobal用パッチ

最新の5.4.1では5.3からの変更が大きくてパッチが当たらない.5.3は以下から入手可能
-ftp://ftp.gnu.org/pub/gnu/global/
***パッチの仕方 [#q306d845]
  パッチの当ての基本的なやり方は、sakuraのホームページを参照ください。

  1.tortoiseSVNで、sakura_coreフォルダ右クリックから「パッチを適用」
  2.次の追加ファイルを、VisualStudioのソリューション エクスプローラに加える。
   CDlgGtags.cpp
   CDlgGtags.h
   CEditView_Cmdgtags.cpp

*** globalのコンパイルについて [#xcb86489]
-cygwinでそのままコンパイルするとCygwin dllに依存したバイナリになってしまうので,''-mno-cygwin''オプション付きでコンパイルするか,[[MinGW環境>http://www2.atwiki.jp/ccw/pages/5.html]]を利用した方が良さそう.
-- [[-mno-cygwinについて>http://www.sixnine.net/cygwin/translation/devel/mno-cygwin-howto.html]]

-コンパイルしたバイナリは,stripコマンドでシンボル情報を取り除くと,ファイルサイズが小さくなる.(MinGW5.1.3には標準でstrip.exeが含まれていました)
 strip *.exe
-- 詳しくは[[stripのMANページ>http://www.linux.or.jp/JM/html/GNU_binutils/man1/strip.1.html]]

***イメージ類 [#xb8a6462]
#ref(メニュー.PNG,nolink)
#ref(タグMAKE.PNG,nolink)
#ref(Globalダイアログ.PNG,nolink)
#ref(Global補完.PNG,nolink)
#ref(Globalダイレクトタグジャンプ.PNG,nolink)

***Globalの参考リンク [#p91507e3]
-http://www.gnu.org/software/global/global.html ホーム
-http://www.tamacom.com/global-j.html


----
- 評価用にfonさんのglobal-5.3.diffを適用したglobal.exe他をぶら下げておきます. &br;http://www.geocities.com/jadoxa/global/index.html にて配布されているものは,自分でコンパイルしたものとはずいぶんファイルサイズが異なります.stripしたらおおよそ同じ大きさになったので,strip済みのものを添付しました. -- [[maru]] &new{2007-03-21 (水) 21:57:47};
- maruさんに作っていただいたバイナリ(サイズが小さいのでこっちのがいいです!)とpatchを抱き合わせたものを添付しました.&attachref(GlobalForSakura20070321_2.zip);&br;それと、ダイアログを開いたときのバグを修正したsakuraを添付します(クリティカルでした、、コメントありがとうございます!).&attachref(sakura_core_forGlobal20070321.zip);&br;不要になったファイルを削除させてもらいました.(maruさん、stripした方法も文書化しておいて貰うことは出来ます?) -- [[fon]] &new{2007-03-21 (水) 23:51:47};
- maruさん、strip他ノウハウありがとうございます。&br;げんたさんのコメントの一部と、バグに対応したv0.3版を添付します.&attachref(sakura_core_forGlobal20070322.zip); -- [[fon]] &new{2007-03-22 (木) 23:32:43};
- Gtagsアップデートの挙動を変更しました>v0.4版&attachref(sakura_core_forGlobal20070323.zip); -- [[fon]] &new{2007-03-23 (金) 22:26:54};
- Globalによる補完機能に暫定対応しました>v0.5版&attachref(sakura_2007-03-31_Global.zip); -- [[fon]] &new{2007-03-31 (土) 02:11:36};
- げんたさん版をベースに幾つか問題修正しました。&br;げんたさん大感謝!gtags_2007-04-07_assist1.zipもまとめて置きました>v0.7版&attachref(sakura_2007-04-09_Global.zip); -- [[fon]] &new{2007-04-09 (月) 19:27:34};
- Globalダイレクトタグジャンプを機能追加しました。便利になると思います!>v0.8版&attachref(sakura_2007-04-16_Global.zip); -- [[fon]] &new{2007-04-16 (月) 20:40:13};

#comment
#attach

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS