【发布时间】:2013-05-02 05:26:39
【问题描述】:
我有一个编译代码。如果我尝试使用 'usr/bin/ctags -R *' 生成标签,它将包括所有 c、h、目标文件等。所以它需要大量时间和内存。能否请您告诉我如何仅为 c/h 文件生成标签。
【问题讨论】:
我有一个编译代码。如果我尝试使用 'usr/bin/ctags -R *' 生成标签,它将包括所有 c、h、目标文件等。所以它需要大量时间和内存。能否请您告诉我如何仅为 c/h 文件生成标签。
【问题讨论】:
使用 --languages 参数:
ctags --languages=C
【讨论】:
您可以使用.ctagsignore 文件从生成的标签中排除任何不需要的文件。
以下是我在项目中使用的示例:
.ctagsignore 的内容:
bin
makefile
obj
tags
workspace.vim
然后生成标签:
-ctags -R --exclude=@.ctagsignore
这会忽略 bin 和 obj 文件夹中的每个文件、makefile、(未来)生成的标签文件以及项目目录中的 workspace.vim 文件。它本质上像 .gitignore 文件一样工作,因此您可以使用通配符 (*.o) 表示法 - myfolder/*.o 会忽略 $PROJ_DIR$/myfolder/ 中的所有目标文件
【讨论】:
我会尝试“man ctags”并通过选项阅读。
或者你可以使用 shell 魔法:
ctags `find . -name "*.[ch]" -print`
或者类似的东西
【讨论】: