Можно ли заставить ctags следовать директивам #include?

Я пытаюсь создать цель в моем 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 не использует это для анализа заголовочного файла?

Ответы на вопрос(1)

Ваш ответ на вопрос