アプリ版:「スタンプのみでお礼する」機能のリリースについて

秀丸のタグジャンプ機能を使って、ソースコード内の関数やdefineにジャンプしたいと思ってtagファイルを作成したのですがうまくいきません。
下記に状況を記載しましたので、識者の方、何卒ご教示をお願いいたします。

■困っていること
同じフォルダ内のソースの関数にはジャンプできるが
違うフォルダ内のヘッダに定義されたdefineにジャンプできない

■言語:C++
■フォルダ構成
root
 |-src:cppファイル置き場。ここに実装を記載
 |
 |-header:★ヘッダファイル置き場(クラスやdefineなどを記載)
 |
 |-tags:タグジャンプ用ファイル。ここに作成した

■tagジャンプ設定
・上級者向け設定に変更して、以下のチェックをON
 「上の階層もチェックする」:ON
 「tagsファイルの自動更新」:ON
 ※添付画像1枚目に載せています。

■手順
①src内のcppファイルを開く
②cppファイル内に記載されているdefine値を選択してCtrl+F10
③「tagsファイル内にその関数または強調行が見つかりませんでした」とでるので
 「tagsファイル再作成」を押す
④tagsファイルを以下の設定で再作成
 ・検索するファイルは「*.cpp;*.h」
 ・対象フォルダは上記フォルダ構成の「root」を指定
 ・ルールは「自動」を設定
 ・「サブフォルダも検索」をON
 (※添付画像2枚目に載せています。フォルダ名は仮名です。本当はフルパスで指定しています)
⑤ダイレクトタグジャンプ飛び先指定画面がでるので、defineのあるファイルを探す
 →ここでhファイルが出るはずなのに出てきません。

「秀丸のタグジャンプがうまくできません」の質問画像

質問者からの補足コメント

  • 回答いただきありがとうございます。
    ===============
    念のため、あなたの環境で、ヘッダファイルとソースファイルを同じディレクトリに置いてどうなるか、確認していただけませんでしょうか。もし、その環境で、defineがタグジャンプの対象になるなら、この回答は無視してください。
    ===============
    上記を試してみたところ、「ダイレクトジャンプとび先指定」の一覧に入っており、そこから選択してジャンプできることは確認できました。

    補足ですが
    C++で、かつ継承している関数はいきなりジャンプはできなかったのですが
    同様に「ダイレクトジャンプとび先指定」の一覧から選択してジャンプすることができました。
    (つまり、defineと同じ操作でジャンプできた、ということになります。)

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/08/07 16:42
  • tagsファイルはroot直下に置きましたので
    「上の階層もチェックする」は不要でしたね・・・
    失礼しました。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/08/07 16:43

A 回答 (4件)

No.1です。



No.2さんのご指摘があったので念のため
私がNo.1の回答の際に行った確認は、以下の通りです。

1. src,header各々でtagsファイルを作成する。(自動作成)
2. 作成したtagsファイルにdefineの情報を追加。(手作業)
3. 全てのtagsファイルを一つにまとめてrootフォルダ直下に置く。(手作業)


環境は、
秀丸Ver8.58 64ビット版
windows10 64ビット
です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
回答いただきました手順でやったところ、手動でdefine情報をtagsファイルに追加することで
直接ジャンプすることができました。
私の情報に不足があったことで色々とご迷惑おかけしましたが
ひとまずやりたいこととしてはできましたので
これをベストアンサーとさせていただきます。

お礼日時:2016/08/07 16:52

No.2です。


No.3の方へ
>1. src,header各々でtagsファイルを作成する。(自動作成)
>2. 作成したtagsファイルにdefineの情報を追加。(手作業)
ということですが、質問者の方は、手作業によるtagsファイルへのdefine情報の追加を行わずに、
defineでのタグジャンプができることを期待されているのではないでしょうか。
>1. src,header各々でtagsファイルを作成する。(自動作成)
を行った時点で、tagsファイルにdefineの情報が作成されないのは、defineのタグジャンプをサポートしていない
と解釈すべきと(私は)考えます。

但し、No.3の方の回答により手作業によるdefine情報の追加を行わないとタグジャンプできないことが明らかになりましたので、その意味では、(No.3の方の回答は)有意義な回答になるかと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
実はtatsu99さんのご推測の通り、理想は手動作業を行うことなく
defineにジャンプする方法を探していました。
(以前Eclipseを使っていた時に、そのようなことができていたため、秀丸のタグジャンプでも同様のことができるのかも、と考えていましたがサポートされていないというのがしっくり来ました)

最終的な見解を書いていただきありがとうございました。
感謝いたします。

お礼日時:2016/08/07 16:56

間違っているかもしれませんが、


そもそも、タグジャンプは#define で定義された文字はジャンプ対象にしていないように思われます。
私の環境(秀丸Ver8.62 64ビット版 windows7 64ビット)で、対象ファイル(*.c;*.h)、ルール(自動)で
ソースおよびヘッダファイルを同一ディレクトリに置き、tagsファイルを作成しました。
タグジャンプは関数名に対しては有効でしたが、defineに対しては効きませんでした。
tagsファイルの内容を直接参照しても、ヘッダファイル(*.h)に関するタグは一切登録されていませんでした。

念のため、あなたの環境で、ヘッダファイルとソースファイルを同じディレクトリに置いてどうなるか、確認していただけませんでしょうか。もし、その環境で、defineがタグジャンプの対象になるなら、この回答は無視してください。
もし、defineがタグジャンプの対象にならないなら、それが仕様なのかバグなのか、秀丸の作者に問いあわせるのがよいかと思います。
以下のURLの「サポート会議室」で、秀丸に関するサポートの問い合わせが可能です。
http://hide.maruo.co.jp/software/hidemaru.html
この回答への補足あり
    • good
    • 0

> ■tagジャンプ設定


> 「上の階層もチェックする」:ON

tagsファイルはroot直下に置くのではないでしょうか?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!