0

C++ ソース コードを参照するときは、vim + ctag + cscope を使用します。関数 cscope および/または ctag の定義を調べたい場合、その候補のリストが生成されます。

しかし、ヘッダーファイルのクラス宣言で定義されている関数に対してこれを試してみると、これら2つのいずれも候補のリストを生成しません。このように ctag や cscope が失敗した場合、関数定義はヘッダー ファイルにある必要があることがわかりました。そこで、ヘッダー ファイルを開き、その中に関数定義を見つけます。

しかし、これは ctag と cscope の必然的な動作なのだろうか。ヘッダー ファイルで定義されている場合でも、すべての関数の定義を見つけることができるように、このような場合にそれら (ctag と cscope) を賢くする方法はありませんか?

どうもありがとうございました。

ジャーナイヤー J. ジョー

4

1 に答える 1

1

以下のようなタグファイルを生成しました。

ctags --langmap=C++:.inc --c++-kinds=+p --fields=+iaS --extra=+fq --sort=foldcase -R .

ただし、以下の方法で修正する必要があります。

ctags --langmap=C++:+.inc --c++-kinds=+p --fields=+iaS --extra=+fq --sort=foldcase -R .

から

--langmap=C++:.inc

--langmap=C++:+.inc

man ctagsこれについての指示があります:

[...] 拡張子が .c および .x のファイルのみを C 言語ファイルとして扱うように指定するには、「--langmap=c:.cx」を使用します。拡張子が .j のファイルも Java 言語ファイルとして追加するには、「--langmap=c:.cx,java:+.j」を指定します。

于 2012-08-13T10:47:04.493 に答える