2

我是 gtags 的新手,有一个问题。我有一个大项目,比如android AOSP,我想让gtags解析一些文件夹,我怎么用gtags来实现呢?我搜索并得到了解决方案:

  1. 将 -f 选项与 gtags 一起使用,似乎不支持文件夹

有什么好主意可以设置文件夹路径并且 gtags 只处理这些文件夹吗?

4

3 回答 3

2

更新:问题的作者在评论中提出了更好的解决方案。我在这里添加它,以便更容易找到:

..在我需要的子目录中创建标签文件,并在加载项目时将目录添加到GTAGSLIBPATH,


我的答案:

您可以通过在 ~/.globalrc 或 /etc/gtags.conf 中添加文件/目录列表以跳过关键字来限制 gtags 索引的内容。这是一个示例 gtags.conf 文件。

问题是 global/gtags 包通常不安装 gtags.conf (至少它在 ubuntu 12.04 上的 global-5.7.1-2 中不存在),因此您需要从全局源代码分发中获取它,或者使用别人的 gtags.conf 作为参考。比如这里

像这样的东西应该工作。请注意,领先的/意思是from the top of the tree。没有它,gtags 将跳过树中任何地方的匹配条目。:

common:\
    :skip=/skip-this-dir/,/lib/and-this/,/include/and-this-one-too/:
于 2014-04-18T19:29:26.757 回答
2

-f 选项以 find(1) 为前提。请尝试以下方法。

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

或者

$ find folder1 folder2 folder3 -type f -print >gtags.files
$ gtags
于 2014-04-23T23:36:19.643 回答
0

这是我的 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 -
}
于 2016-09-06T10:00:21.943 回答