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?