Как перейти к объявлению функции C++ с помощью etags?

Я сгенерировал файл TAGS с etags, включая несколько каталогов в каталоге библиотеки, которую я использую. Команда была что-то вроде:

etags *.h *.cpp /path/to/library/include/* /path/to/library/libsrc/*.cpp

Когда я вызываю функцию поиска тегов в emacs M-.Я никогда не получаю совпадения с тегами из .h файлы.

Как я могу перейти к объявлению функции из ее использования в некотором коде?

2 ответа

Решение

Это немного запоздало, но объявления функций по умолчанию не включаются при сборке etags. добавлять --c++kinds=+p включить их:

etags --c++kinds=+p *.h *.cpp /path/to/library/include/* /path/to/library/libsrc/*.cpp

По умолчанию, M-. переходит к определению. Я обнаружил, что добавление префикса (C-u M-.) после перехода к определению обычно переходит к декларации.

Другие вопросы по тегам