我正在使用ctags命令行工具来导航c ++代码但是当我想跳转到多态函数定义时,它不会正确跳转到该定义。请告诉我们ctags或其他一些配置是否存在问题。或者,如果有更好的工具来导航现代C ++代码,请告诉我。谢谢!
我通常按如下方式运行ctags命令(在VIM上):
ctags -R *
答案 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有一些性能问题。也许,你想尝试一下: