ctags不适用于多态函数

时间:2017-12-24 02:41:50

标签: c++ c++11 vim ctags

我正在使用ctags命令行工具来导航c ++代码但是当我想跳转到多态函数定义时,它不会正确跳转到该定义。请告诉我们ctags或其他一些配置是否存在问题。或者,如果有更好的工具来导航现代C ++代码,请告诉我。谢谢!

我通常按如下方式运行ctags命令(在VIM上):

  

ctags -R *

1 个答案:

答案 0 :(得分:1)

由于您想要导航C ++代码,我想您正在使用Exuberant Ctags。

This Exuberant Ctags Mailinglist response解释了如何跳转到虚函数的定义:

  

如果您查看标签文件,您应该看到所有声明&   my_func的定义存在。如果没有,声明就是   缺少,尝试将--c ++ - types = + p添加到任何命令行中   生成标签文件。

您可以使用ctags --list-kinds=c++查看所有可能的c ++种类:

c  classes
d  macro definitions
e  enumerators (values inside an enumeration)
f  function definitions
g  enumeration names
l  local variables [off]
m  class, struct, and union members
n  namespaces
p  function prototypes [off]
s  structure names
t  typedefs
u  union names
v  variable definitions
x  external and forward variable declarations [off]

关于第二个问题,是否有更好的工具来导航现代C ++代码:Many IDEs do use ctags。但我目前正在使用Clion,它提供some good search and navigation features。您还可以了解这些备忘单:

然而,有时导航不起作用,例如对于ctors而言find usage。此外,我的Clion有一些性能问题。也许,你想尝试一下: