我使用ctags命令行工具来导航c ++代码但是当我想跳转到多态函数定义时,它不会正确跳转到该定义。请告诉我们ctags或其他一些配置是否存在问题。或者,如果有更好的工具来导航现代C ++代码,请告诉我。谢谢!
我通常按如下方式运行ctags命令(在VIM上):
ctags -R *
由于您想要导航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。您还可以获得这些备忘单的概述:
但是,有时导航不起作用,例如find usage
为ctors。此外,我的Clion有一些性能问题。也许,你想尝试一下: