0

ctagsは、階層の上位のディレクトリからシンボルにタグを付けることもできますか、それとも現在のディレクトリとサブディレクトリのタグのみを作成するように制限されていますか?

基本的に、シンボルの相互参照のようなVisual Studioを探しています。これは、エイリアンのソースコードフローを理解するのに非常に役立ちます。

Vimでない場合は、他のどのエディターを使用する必要がありますか?

ありがとう

4

4 に答える 4

2

Ctagsはサブディレクトリにのみ再帰します。ctags -R .ただし、プロジェクトのホームディレクトリで実行するだけで、プロジェクトtags全体のファイルが作成されます。

于 2012-12-29T21:58:21.383 に答える
2

Vimで指定するタグファイルは1つだけではありません。これは他の答えに代わるものです。次のようなことができます。

set tags=tags,~/wintags,c:/path/to/moretags/etc

したがって、ローカルタグを更新するだけの場合は、モノリシックタグファイルの再生成に時間をかける必要はありません。

別の回答でのOPのコメントに関して、

はい、それは正しいですが、proj / dir1 / def.cというファイルを開いて、proj / dir2 / abc.cで定義されている関数名でctrl+]を押すと、タグが見つかりません:(

'proj'ルートですべてのプロジェクトに対して1つのタグファイルを作成することもできます。

set tags=tags;c:/path/to/proj

tagsこれは、現在の場所からディレクトリ階層を上るときに見つかった最初のファイルを使用します。

これらの2つの手法を組み合わせて、プロジェクトローカルタグファイルと、それほど頻繁に更新されない「グローバル」タグファイルを作成できます。

于 2012-12-30T01:01:28.457 に答える
1

それを行うように要求するための同様のユーザーインターフェイスを持っているため、実際に「ディレクトリを下に移動」を指定する必要がありますが、これcscopeは非常に優れたツールであり、ctags が行うすべてのことともう少し多くのことを行います。

于 2012-12-29T22:05:23.110 に答える
0

ctags (まあ、少なくとも exctags) は、必要な数のディレクトリ ツリーのタグを作成できます。実行するだけ

exctags -R dir1 dir2 ...

次に、vim は必要なすべてのシンボルを認識します。たとえば、ディレクトリの 1 つを/usr/include独自のソース ディレクトリに追加することができます。

ファイルvim path/to/file.cを作成したのと同じディレクトリから実行してください。tags

于 2012-12-29T21:59:42.970 に答える