Как установить путь к папке для gtags

Я новичок в gtags, и у меня есть вопрос. У меня большой проект, такой как Android AOSP, я хочу, чтобы gtags анализировал некоторые папки, как я могу добиться этого с помощью gtags? Я искал и получил решение:

  1. используйте опцию -f с gtags, похоже, не поддерживает папки

Есть ли хорошая идея, что я могу установить путь к папкам и gtags обрабатывать только эти папки?

3 ответа

Решение

ОБНОВЛЕНИЕ: автор вопроса придумал лучшее решение в комментариях. Я добавляю его сюда, чтобы его было легче найти:

.. создайте файл тега в нужных мне подкаталогах и добавьте эти каталоги в GTAGSLIBPATH при загрузке проекта,


Мой ответ:

Какие индексы gtags можно ограничить, добавив список файлов / каталогов, чтобы пропустить ключевое слово в ~/.globalrc или /etc/gtags.conf. Вот пример файла gtags.conf.

Проблема в том, что часто пакеты global/gtags не устанавливают gtags.conf (по крайней мере, его нет в global-5.7.1-2 в ubuntu 12.04), поэтому вам нужно либо получить его из дистрибутива с глобальным исходным кодом, либо использовать чужой gtags.conf в качестве ссылки. Например здесь.

Нечто подобное должно работать. Обратите внимание, что ведущий / средства from the top of the tree, Без этого gtags пропустит соответствующие записи в любом месте дерева.

common:\
    :skip=/skip-this-dir/,/lib/and-this/,/include/and-this-one-too/:

Опция -f основана на find(1). Пожалуйста, попробуйте следующее.

$ find folder1 folder2 folder3 -type f -print | gtags -f -

или же

$ find folder1 folder2 folder3 -type f -print >gtags.files
$ gtags

Это моя функция bash, чтобы избавиться от файлов и путей, включая 'dummy' и 'win':

function gtagsupdate { 
find . -name "*.c" -o -name "*.cpp" -o -name "*.h" -o -name "*.hpp" | grep -v dummy | grep -v win | gtags -f -
}
Другие вопросы по тегам