Function cscope和ctag找不到位于类声明中的函数定义 我在浏览C++源代码时使用VIM+CTAG+cSeCopy. 当我想查找任何函数的定义时,cscope和/或ctag会生成一个CADIDATE列表,似乎就是其中之一

Function cscope和ctag找不到位于类声明中的函数定义 我在浏览C++源代码时使用VIM+CTAG+cSeCopy. 当我想查找任何函数的定义时,cscope和/或ctag会生成一个CADIDATE列表,似乎就是其中之一,function,lookup,definition,cscope,Function,Lookup,Definition,Cscope,但是,当我对一个在头文件的类声明中定义的函数尝试此操作时,这两个函数都不会生成CADIDATE列表。 当ctag和/或cscope像这样失败时,我现在知道函数定义应该在头文件中。因此,我打开头文件并在其中找到函数定义 但我想知道这是否是ctag和cscope不可避免的行为。 有没有办法让它们(ctag和cscope)在这种情况下更聪明,这样我就可以找到每个函数的定义,即使它们是在头文件中定义的 多谢各位 Journeyer J.Joh我生成了如下所示的标记文件 ctags --langmap=C

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

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

多谢各位


Journeyer J.Joh

我生成了如下所示的标记文件

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 .

有关于这方面的说明:

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

--langmap=C++:.inc
--langmap=C++:+.inc