|
はじめまして。NSUZUと申します。
いきなり質問ですが、タグファイルを更新せずにジャンプすると、関数のあるとこ
ろにジャンプしてくれないのですが、ジャンプした後検索するなどしてその関数の場
所にジャンプするような事ができるのでしょうか。
私なりに考えて、ダイレクトタグジャンプ後にキーワードを検索する以下のような
マクロを作ってみたのですが、正常に動作するときとしないときがあり、あと一歩の
ところでうまくいきません。
正常に動作しないときは、ジャンプする前にそのファイルが開かれている場合で、
元のファイルで検索が処理されていて、関数のあるファイルでは処理されていないよ
うです。マクロ実行後は関数のあるファイルがアクティブになっています。私の考え
では、ジャンプ後のマクロ処理の対象ウインドウが、時々関数のあるファイルに移っ
ていないのではないかと思います。
そのような事が考えられるのでしょうか。なにか、解決法がありましたら、どうか
教えてください。
よろしくお願いします。
<<<< 作成したマクロ >>>>
// tagJump.mac
// ダイレクトタグジャンプ
//<作成>1998. 4/ 9 鈴木
$searchbuffer_backup = searchbuffer;
#searchoption_backup = searchoption;
getsearch;
$search_word = searchbuffer;
// レジストリからタグファイル名を取得
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
if( !result ){
message "レジストリを開く事ができませんでした。";
goto EXIT;
}
$tag_file = getregstr( "Tags" );
closereg;
// タグファイル存在チェック
if( existfile( $tag_file ) == false ){
message "タグファイルが見つかりません";
goto EXIT;
}
// ダイレクトタグジャンプ
disableerrormsg;
directtagjump;
if( !result ){
message "関数が見つかりませんでした";
goto EXIT;
}
// キーワード検索
$word = gettext( x, y, x+strlen( $search_word )-1, y );
if( result ){
if( $word == $search_word ) goto DISPLAY;
finddown;
}
if( !result ) findup;
EXIT:
setsearch $searchbuffer_backup, #searchoption_backup;
// 検索文字列の復帰
|
|