cscope和ctag找不到位于类声明中的函数定义

时间:2012-08-12 10:18:42

标签: function lookup definition cscope

当我浏览C ++源代码时,我使用vim + ctag + cscope。 当我想要查找任何函数的定义时,cscope和/或ctag会生成一个似乎是其中的cadidate列表。

但是当我尝试在头文件中的类声明中定义的函数时,这两个函数都不会生成卡片列表。 当ctag和/或cscope像这样失败时,我现在知道函数定义应该在头文件中。所以我打开头文件并在其中找到函数定义。

但我想知道这是否是ctag和cscope不可避免的行为。 有没有办法让它们(ctag和cscope)聪明地处理这种情况,这样我就可以找到每个函数的定义,即使它们是在头文件中定义的?

非常感谢。

Journeyer J. Joh

1 个答案:

答案 0 :(得分:1)

我生成了类似下面的标记文件。

ctags --langmap=C++:.inc --c++-kinds=+p --fields=+iaS --extra=+fq --sort=foldcase -R .

但必须以下面的方式纠正。

ctags --langmap=C++:+.inc --c++-kinds=+p --fields=+iaS --extra=+fq --sort=foldcase -R .

--langmap=C++:.inc

--langmap=C++:+.inc

man ctags有这方面的指示:

  

[...]指定只将扩展名为.c和.x的文件视为C语言文件,使用“--langmap = c:.c.x”;要添加扩展名为.j的文件作为Java语言文件,请指定“--langmap = c:.c.x,java:+。j”。