Я пытаюсь создать цель в своем Makefile для автоматического создания файла tags
с использованием ctags.
У меня есть список исходных файлов (файлы .cpp), но у меня нет списка всех файлов заголовков (я использую g++ -MM
для создания списка зависимостей заголовков).
Я бы предположил, что ctags будет следовать любым директивам #include
в файлах .cpp при создании тегов, но, похоже, мое предположение неверно.
Если я создам простой файл тегов, подобный этому:
ctags --fields=+iaS --extra=+q myClass.cpp
, а затем войдите в vim и введите имя объекта, за которым следует '.' Я получаю сообщение об ошибке "Шаблон не найден".
Однако, если я скомпилирую файл тегов так:
ctags --fields=+iaS --extra=+q myClass.cpp myClass.h
и сделать то же самое в vim, я получаю прекрасный автоматически заполненный список переменных / функций-членов.
Первая строка в моем файле myClass.cpp:
#include "myClass.h"
Так почему же ctags не использует это для анализа заголовочного файла?