ダイレクトタグジャンプの拡張No.11070
Iranoan さん 06/09/04 16:06
 
 秀丸担当さん今日は、Iranoan です。
 もうそろそろ Ver.6.00 が正式になるようですので、もちろんその後で構い
ませんが、「ダイレクトタグジャンプ」について要望があります。
 以前、@nifty のフォーラム FWINAL で、「関数が複数見つかった場合は、
現在アクティブなファイルの関数へカーソル移動に移動して欲しい」という要
望を出して、検討していただくとお返事を頂きました。
→FWINAL/18/4441 1998/9/7 19:01

 これに加えて、
(1) 関数内の宣言場所に移動
(2) ファイル内の宣言場所に移動
(3) (1), (2) の時クラスや構造体を考慮して移動
(4) 関数の時引数の型を考慮して移動
をして頂きたいのです。(1), (2) に付いては、
(1) ローカル変数
(2) グローバル関数
(3) 関数、クラスや構造体の宣言場所
の順に、できるだけ狭い範囲から探し出したい事と、tags ファイルが更新さ
れていなくても正しい場所に移動して欲しいからです。

 実は、(1)、(2) についてはマクロで実現しています。しかし (3), (4) に
付いては、
・「ダイレクトタグジャンプ」を実行した時に複数候補があるかどうか知る方
  法がない
・directtagjump 文を使うと複数見つかった場合に、ダイアログ・ボックスが
  表示されてしまう (リストからの自動選択はできない)
の不都合があるので、マクロにしていません。もちろん tags ファイルを開き
検索すれば可能ですが....。
 またマクロにしてしまうと、バッグタグジャンプが利きませんので、これま
でマクロにしないと行けません(;_;)。

[ ]
RE:11070 ダイレクトタグジャンプの拡張No.11075
秀丸担当 さん 06/09/05 09:59
 

> もうそろそろ Ver.6.00 が正式になるようですので、もちろんその後で構い
>ませんが、「ダイレクトタグジャンプ」について要望があります。
> 以前、@nifty のフォーラム FWINAL で、「関数が複数見つかった場合は、
>現在アクティブなファイルの関数へカーソル移動に移動して欲しい」という要
>望を出して、検討していただくとお返事を頂きました。
>→FWINAL/18/4441 1998/9/7 19:01
>
> これに加えて、
>(1) 関数内の宣言場所に移動
>(2) ファイル内の宣言場所に移動
>(3) (1), (2) の時クラスや構造体を考慮して移動
>(4) 関数の時引数の型を考慮して移動
>をして頂きたいのです。(1), (2) に付いては、
>(1) ローカル変数
>(2) グローバル関数
>(3) 関数、クラスや構造体の宣言場所
>の順に、できるだけ狭い範囲から探し出したい事と、tags ファイルが更新さ
>れていなくても正しい場所に移動して欲しいからです。

FWINALでの要望はすっかり忘れてしまっていました。
これに加えてのことまで考えると、非常に複雑なことになってしまいそうです。
バックタグジャンプはできないですが、マクロでtagsファイルを開いてやるとい
う感じの、好みに合わせたマクロにするというのがいいような気もします。
バックタグジャンプそのものもマクロでやってしまうとか。

[ ]
RE:11075 ダイレクトタグジャンプの拡張No.11078
Iranoan さん 06/09/05 12:57
 
 秀丸担当さん今日は、Iranoan です。
> これに加えてのことまで考えると、非常に複雑なことになってしまいそうです。
> バックタグジャンプはできないですが、マクロでtagsファイルを開いてやるとい
> う感じの、好みに合わせたマクロにするというのがいいような気もします。
> バックタグジャンプそのものもマクロでやってしまうとか。
 それは解っているけれど...、というお話です。

> FWINALでの要望はすっかり忘れてしまっていました。
 こちらだけでも考えて頂けると有り難いです。また先の投稿が無理でも。
・飛び先の候補が複数あるかどうか調べるだけの文
・飛び先として候補に挙がる理由が、引数の場合に除外する
  つまり tags に
  sample.cpp(8) : sample( hoge );
  sample.h(2) : struct hoge{
  とある場合、hoge で「ダイレクトタグジャンプ」を行うと、現在は両方が
  候補になりますが、sample.cpp の方を除外する
が出来るだけでも十分です。

[ ]
RE:11078 ダイレクトタグジャンプの拡張No.11080
秀丸担当 さん 06/09/05 14:55
 

> こちらだけでも考えて頂けると有り難いです。また先の投稿が無理でも。
>・飛び先の候補が複数あるかどうか調べるだけの文

また検討しますと書くと忘れてしまいそうですが、ネタとしておきたいと思いま
す。

>・飛び先として候補に挙がる理由が、引数の場合に除外する
>  つまり tags に
>  sample.cpp(8) : sample( hoge );
>  sample.h(2) : struct hoge{
>  とある場合、hoge で「ダイレクトタグジャンプ」を行うと、現在は両方が
>  候補になりますが、sample.cpp の方を除外する
>が出来るだけでも十分です。

[その他]→[動作環境]→[その他のコマンド]→[tagsファイル]に、「関数名のみ
をジャンプの対象とする」というオプションがあります。
これを有効にすると、単語の後に括弧が付いているものだけが対象になり、引数
は対象にならなくなります。
でも struct の行もヒットしなくなってしまいます。
これを改善して、括弧がある行については関数名のみ、括弧が無い行については
全て対象とすると、いいかもしれません。
こちらは正式版ではやらずに近いうちにやってみようと思います。

[ ]
RE:11080 ダイレクトタグジャンプの拡張No.11084
Iranoan さん 06/09/05 18:24
 
 秀丸担当さん今日は、Iranoan です。
> >・飛び先の候補が複数あるかどうか調べるだけの文
>
> また検討しますと書くと忘れてしまいそうですが、ネタとしておきたいと思いま
> す。
 有り難うございます。

> [その他]→[動作環境]→[その他のコマンド]→[tagsファイル]に、「関数名のみ
> をジャンプの対象とする」というオプションがあります。
 そういえばありますね。
> これを有効にすると、単語の後に括弧が付いているものだけが対象になり、引数
> は対象にならなくなります。
 これは困るので、
> これを改善して、括弧がある行については関数名のみ、括弧が無い行については
> 全て対象とすると、いいかもしれません。
> こちらは正式版ではやらずに近いうちにやってみようと思います。
こちらについて、よろしくお願いします。

[ ]