tagsファイルに並列した階層の関数を記録No.14498
犬マン さん 03/04/16 00:02
 
はじめまして。
秀丸は使い始めてそろそろ4年くらいになりますが、
まだ「こんなことが出来たのか」と思わされることも多く
非常に奥の深いエディタだなぁと感じています。
(私が不勉強なだけかもしれませんが…)

題名にもあるとおりtagsファイルなのですが、私の環境だと、
作業中のフォルダと、それと並列した階層にあるフォルダのソースを
検索対象に指定すると、作業中のフォルダにあるソース内の関数しか
記録されません。これは正しい動作なのでしょうか?
たとえば

project ┬ source
        ├ lib
        └ data

というようなフォルダ階層で、source で作業をしているとします。
そこで「tagsファイルの作成」から、
「対象ファイル」を“..\*.c”
「ルール」を“C言語の関数一覧”
「出力ファイル名」を“tags”
「サブフォルダ検索」「フルパスで出力」をともにチェックして
実行すると、進捗表示のダイアログには lib フォルダのソースも
チェックしていると表示されるのですが、出来上がったtagsファイル
には source フォルダにあるソースの関数しか記録されておらず、
当然、lib内のソースにタグジャンプすることも出来ません。

これが出来るようになると助かるのですが、何かうまい方法は
ありますか?


[ ]
RE:14498 tagsファイルに並列した階層の関No.14499
アルビレオ さん 03/04/16 01:29
 
アルビレオです。

>project ┬ source
>        ├ lib
>        └ data
>
>というようなフォルダ階層で、source で作業をしているとします。
>そこで「tagsファイルの作成」から、
>「対象ファイル」を“..\*.c”
>「ルール」を“C言語の関数一覧”
>「出力ファイル名」を“tags”
>「サブフォルダ検索」「フルパスで出力」をともにチェックして
>実行すると、進捗表示のダイアログには lib フォルダのソースも
>チェックしていると表示されるのですが、出来上がったtagsファイル
>には source フォルダにあるソースの関数しか記録されておらず、
>当然、lib内のソースにタグジャンプすることも出来ません。

Win98SE + 秀丸3.19 でテストしてみましたが、正しく検索されていました。
ただし、tags ファイルが置かれる場所は検索を開始するディレクトリ、上の例
だと project にありました。
source から実行したので source にある古い tags ファイルを見て「source の
ファイルしか記録されていない」と勘違いしたのではないでしょうか。

ちなみに、こういう使い方をする場合はサブディレクトリにある tags ファイル
は全て削除して、[動作環境]-[パス]-[環境]-[tagsファイル]の
[上の階層もチェックする]を ON にしておかないと、ダイレクトタグジャンプが
意図した動作になりません。

[ ]
RE:14499 tagsファイルに並列した階層の関No.14505
犬マン さん 03/04/16 22:23
 
コメントありがとうございます。

>Win98SE + 秀丸3.19 でテストしてみましたが、正しく検索されていました。
>ただし、tags ファイルが置かれる場所は検索を開始するディレクトリ、上の例
>だと project にありました。
>source から実行したので source にある古い tags ファイルを見て「source の
>ファイルしか記録されていない」と勘違いしたのではないでしょうか。

まさにそのとおりでした。

>ちなみに、こういう使い方をする場合はサブディレクトリにある tags ファイル
>は全て削除して、[動作環境]-[パス]-[環境]-[tagsファイル]の
>[上の階層もチェックする]を ON にしておかないと、ダイレクトタグジャンプが
>意図した動作になりません。

こちらも、この通りやったらうまくいきました。
ありがとうございました。

[ ]