Когда вы используете "ctags -R dirName", вы индексируете только символы для содержимого каталога dirName.
Что происходит, так это то, что va_args определен в stdarg.h, который является заголовком стандартной библиотеки C.
Вы будете сталкиваться с той же проблемой каждый раз, когда будете использовать символ из внешней библиотеки.
Поэтому, если вы хотите, чтобы все символы были доступны, у вас есть, помимо вашей программы, также возможность индексировать код для внешних библиотек.
Это значит:
Исходный код должен быть доступен (что не всегда так)
Как только вы нашли в своей системе, где находится файл, он должен быть проанализирован для включения в ваш файл "тега".
Таким образом, после выполнения ctags -R projectPath
вы можете выполнить ctags -Ra /usr/include
, чтобы добавить все содержимое / usr / include в ваш файл тегов.
В общем случае вы хотите сделать что-то вроде ctags -Ra librarySourcePath
, чтобы получить все символы, используемые в вашей программе.
Редактировать:
Однако будьте осторожны: / usr / include может содержать много файлов, поэтому размер вашего tag
файла может значительно увеличиться, и, как следствие, каждый раз, когда вы будете искать символ для перехода к нему, он может быть намного медленнее !