更新大型项目中已修改文件的cscope db和ctags

时间:2016-05-15 20:36:24

标签: ctags cscope

假设我在*.c中有大约100000个*.h c project个文件。我使用find命令将其列入cscope.files,然后从中创建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文件。

1 个答案:

答案 0 :(得分:0)

您可以使用use 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