10 Stimmen

Können ctags so gestaltet werden, dass sie #include-Anweisungen folgen?

Ich versuche, ein Ziel in meinem Makefile zu erstellen, um automatisch eine tags Datei mit ctags.

Ich habe eine Liste der Quelldateien (.cpp-Dateien), aber ich habe keine Liste aller Header-Dateien (ich verwende g++ -MM um die Liste der Header-Abhängigkeiten zu erstellen).

Ich wäre davon ausgegangen, dass ctags auf jede #include Direktiven in den .cpp-Dateien beim Generieren der Tags, aber es scheint, dass meine Annahme falsch ist.

Wenn ich eine einfache Tag-Datei wie diese erstelle:

ctags  --fields=+iaS --extra=+q myClass.cpp

und dann in vim den Namen eines Objekts gefolgt von einem '.' eingeben, erhalte ich die Fehlermeldung "Pattern not found".

Wenn ich jedoch die Tags-Datei wie folgt kompiliere:

ctags  --fields=+iaS --extra=+q myClass.cpp myClass.h

und das Gleiche in Vim mache, erhalte ich eine schöne, automatisch vervollständigte Liste von Mitgliedsvariablen/Funktionen.

Die erste Zeile in meiner Datei "myClass.cpp" lautet

#include "myClass.h"

Warum nutzt ctags das nicht auch zum Parsen der Header-Datei?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X