如何用不在根目录中的文件构建GNU全局标记文件?

How do I build a GNU Global tags file with files not in the root directory?

本文关键字:文件 全局 GNU 构建 根目录 何用不      更新时间:2023-10-16

假设我有一个这样的目录结构:

~/sourcecode1/myproject
~/sourcecode2/myproject

我想在vim中使用gtags来查找对sourcecode1sourcecode2树中声明的函数的调用,调用来自这些树中的任何一个(例如,在~/sourcecode1/myproject/somefile.cpp中定义的函数可能调用在~/sourcecode2/myproject/someotherfile.hpp中声明的函数)。我想标记除myproject文件夹以外的任何其他文件夹。

。我如何构建我的标签文件来实现这一点?目前,我只是在两个目录中的一个中运行gtags,然后在查看另一个目录中的文件时使用上述gtags功能。

肯定有更好的办法!

虽然我可能不明白你的问题,这是你问的吗?

$ find */myproject -type f -print >gtags.files
$ gtags

请参阅http://www.gnu.org/software/global/globaldoc_toc.html#Applied-usage(提供类似的解决方案,但将文件列表保存在/tmp下)和http://www.gnu.org/software/global/globaldoc_toc.html#gtags(或$ man gtags)。