タグジャンプができませんNo.30782
keng さん 12/01/26 19:46
 
お世話になります。

下記の環境で、
「タグジャンプ」を利用しようとしているのですが、思い通りの動作をしてくれませ
ん。
どなたかご教授願えませんでしょうか(__;)
↓↓
-------------------------------------
■OS
 Windows7 64bit版

■秀丸のバージョン
 8.12

■秀丸のインストール場所
 D:\Program Files\Hidemaru

【関数が定義されているファイル】
 D:\test\lib\func.php

【関数を呼び出しているファイル】
 D:\test\index.php

【tagsファイルが作成された場所】
 D:\test\tags
-------------------------------------

作成されたtagsファイルを確認しましたが、これは正常に作成されていると思われま
す。
↓↓
-------------------------------------
【tagsファイルの中身の一部】
D:\test\lib\func.php(10) : function test() {
D:\test\lib\func.php(20) : function hoge() {
-------------------------------------

ですが、関数を呼び出しているファイルから、
タグジャンプを実行させると下記のようなエラーが出ます。
↓↓
【エラー】
-------------------------------------
タグジャンプ先のファイルが見つかりません

カレントフォルダ
D:\test
ファイル名
testtest
-------------------------------------

他に何か設定が必要な項目などがあるのでしょうか?

ちなみに、
----------------------------------------------------------
メニュー > 動作環境 > その他のコマンド > tagsファイル
----------------------------------------------------------
で設定できる下記の項目には全てチェックを入れております。
↓↓
-------------------------------------
・上の階層もチェックする
・関数名のみをジャンプの対象とする
・大文字/小文字の区別をする
-------------------------------------

以上です。

この他に足りない設定などあればご教授いただきたいです。

どうぞ、よろしくお願いいたします。



[ ]
RE:30782 タグジャンプができませんNo.30783
秀まるお2 さん 12/01/27 09:28
 
 こちらで簡単にテストしてみた限りはうまくタグジャンプするようです。

 こちらでテストしたのは、「D:」の所を「E:」にしただけで(Dドライブが無
いので)、他はまったく同じ状況でテストしたと思います。ファイル的には、

 D:\test\index.php
 D:\test\lib\func.php
 D:\test\tags

 の3つのファイルしか作成せずにテストした物ですけども。

 可能性としてですが、tagsファイルが他にも複数あって、他のtagsファイルを
参照してておかしいかもしれないので、一度その「test」フォルダ配下を検索し
て他にゴミになったtagsファイルが無いか探してみるのがいいんじゃないかと思
います。

 他の可能性としては、tagsファイルの中が実はもっと大きなサイズだとしたら、
他にも「test」って関数を定義してる部分があって、そこを秀丸が認識してて、
そこに飛ぼうとしてる可能性もあるかなぁと思います。本当に中身を、連絡いた
だいた2行だけにしてテストしたら変化があるかもしれないです。


 あと、エラーメッセージの中にある「ファイル名」の内容は、どうも間違って
るような気がします。こちらで意図的に

D:\test\lib\func.php(10) : function test() {
D:\test\lib\func.php(20) : function hoge() {

 の所を、あえて存在しないファイルである、

D:\test\lib\xxxx.php(10) : function test() {
D:\test\lib\xxxx.php(20) : function hoge() {

 のように書き換えてみたら、エラーメッセージの中のファイル名が「D」と出
てきてしまいました。この点については調べてみます。

[ ]
RE:30783 タグジャンプができませんNo.30784
秀まるお2 さん 12/01/27 10:11
 
 エラーメッセージの中に出てくるファイル名が「D」だけになってしまうのは、
調べてみたら、

    D:\test\lib\func.php(10) : function test() {

 と書かれた内容のどこまでがファイル名なのかを調べるために、ファイル名と
そうじゃない部分の区切り位置をいろいろ変えて、例えば

    「D:\test\lib\func.php(10) : function test() {」ってファイルかどうか
    「D:\test\lib\func.php(10) : function test」ってファイルかどうか
    「D:\test\lib\func.php(10) : function」ってファイルかどうか
    「D:\test\lib\func.php(10)」ってファイルかどうか
    「D:\test\lib\func.php」ってファイルかどうか
    「D:\test\lib」ってファイルかどうか
    「D:\test」ってファイルかどうか
    「D」ってファイルかどうか

 と順番にトライし、最終的に「D」だけでトライして失敗した時点でエラーを
出しているようでした。

 エラーメッセージとしては適当じゃないので、この辺修正して、飛ぼうとした
tagsファイルの1行全体を表示するようにします。
 それで具体的にtagsファイルのどこにヒットしたのかも分かりやすくなると思
います。

 次のV8.13β1にて対応させていただきます。

[ ]
RE:30784 タグジャンプができませんNo.30789
keng さん 12/01/30 10:50
 
ご返答ありがとうございます!

あれから何度か試しているのですが、やはり自分の環境では目的の動作をしてくれま
せん。

そこで、
「D:\test\index.php」ファイル内で呼び出している、
関数「test()」をタグジャンプした場合、
---------------------
「カレントフォルダ」
D:\test
「ファイル名」
test
---------------------
と、エラー表示されるので、
関数「test()」が定義されている
「D:\test\lib\func.php」ファイルを
「D:\test\func.php」へ移動させ、
ファイル名を「test」に変更してみました。
「D:\test\func.php」
↓↓
「D:\test\test」

これで再度、
関数「test()」をタグジャンプしてみると正常にタグジャンプできました◎

この結果から、
どうやらタグジャンプをしようとした関数名と
同じファイル名を検索しにいっているように思えます。

これはどこか秀丸の設定に誤りがあるのでしょうか?

どうか、ご教授をお願いいたします(__;)

[ ]
RE:30789 タグジャンプができませんNo.30791
秀まるお2 さん 12/01/30 14:22
 
 ファイル名の所は、僕の所でテストした限りでは、例えばtagsファイルの中に、
たしかに

D:\test\lib\func.php(10) : function test() {

 のように書いてあるのであれば、最終的にエラーメッセージにファイル名とし
て「D」だけが出るはずです。

 「test」と出るということならば、「D:\...」のようなフルパスじゃなくて、
ファイル名のみがtagsファイルに出力されてるってことじゃないでしょうか。

 ちょっとその辺、そちらの状況がどうなってるのか分からないのでなんとも言
えない所ですが、tagsファイルを作成する時に、「ファイル名をフルパスで出
力」がもしOFFになっているなら、それをONにしたら解決するのかなぁという気
がします。


 次のβ版(V8.13β)の方では、ファイル名が何だってのは出さないで、代わ
りに「飛び先を表す内容」ってのを出すことにします。例えばtagsファイルにた
しかに

D:\test\lib\func.php(10) : function test() {

 と書いてあれば、それをそのまま表示するようにします。

 それで解決しやすくなるかなぁという気がします。

 あと1つひっかかった所がありました。


> 【tagsファイルが作成された場所】
>  D:\test\tags

 tagsファイルが作成された場所は「D:\test」ってフォルダですよね。tags
ファイルのフルパスが「d:\test\tags」って意味かと思います。

 もしかして「d:\test\tags」ってフォルダがあって、そこにtagsフォルダを置
いてるってことでしたら、それではうまくダイレクトタグジャンプしないと思い
ます。

 あと、もしかして「ダイレククトタグジャンプ」じゃなくて間違って「タグジ
ャンプ」を実行してたって話だとしたら、「ダイレクトタグジャンプ」コマンド
を実行すれば解決って気もします。

[ ]
RE:30791 タグジャンプができませんNo.30793
keng さん 12/01/30 17:24
 
ご回答ありがとうございます。

> あと、もしかして「ダイレククトタグジャンプ」じゃなくて間違って「タグジャ
>ンプ」を実行してたって話だとしたら、「ダイレクトタグジャンプ」コマンドを実
>行すれば解決って気もします。

申し訳ございません。
自分が目的としていた処理は「ダイレククトタグジャンプ」でした。

こちらの処理で問題なかったです。
初歩的な勘違いで申し訳ありませんでした(__;)





[ ]
RE:30793 タグジャンプができませんNo.30795
秀まるお2 さん 12/01/30 17:55
 
 最初に「タグジャンプ」って書いてあったので、ちゃんと確認すればよかった
です。

 こちらこそ失礼しました。

[ ]