当我浏览C ++源代码时,我使用vim + ctag + cscope。 当我想要查找任何函数的定义时,cscope和/或ctag会生成一个似乎是其中的cadidate列表。
但是当我尝试在头文件中的类声明中定义的函数时,这两个函数都不会生成卡片列表。 当ctag和/或cscope像这样失败时,我现在知道函数定义应该在头文件中。所以我打开头文件并在其中找到函数定义。
但我想知道这是否是ctag和cscope不可避免的行为。 有没有办法让它们(ctag和cscope)聪明地处理这种情况,这样我就可以找到每个函数的定义,即使它们是在头文件中定义的?
非常感谢。
Journeyer J. Joh
答案 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”。