Обновите cscope db и ctags для только что измененных файлов в больших проектах
Скажем, у меня есть около 100000 *.c
*.h
файлы в c project
, Я перечисляю это в cscope.files, используя find
затем создайте cscope.out и отметьте файлы из них, как показано ниже.
1. find `pwd` -type f \( -name "*.c" -o -name "*.h" \) > cscope.files
2. /usr/bin/ctags -L cscope.files
3. cscope -b -i cscope.files -f cscope.out
Это займет 25 - 30 минут. Если я изменяю один файл c, то если я хочу обновить ctags, то это занимает около 20 минут, так как я обновляю весь c project
(т.е. шаг 2,3). Так есть ли способ обновить cscope.out и файл тегов быстрее, просто обновив их для измененного файла c.
0 ответов
Вы можете использовать ctags для генерации тегов для набора файлов (это время модификации больше, чем время модификации.tags) и добавлять результаты к существующим в настоящее время тегам с помощью ключа --append:
ctags --recurse --verbose --append --extra=+q --fields=+aimS --c-kinds=+p --c++-kinds=+p -L list_of_files
Дополнительная информация: https://gist.github.com/Flolagale/5195934