ctags不适用于多态函数

问题描述 投票:1回答:1

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

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

ctags -R *

c++ c++11 vim ctags
1个回答
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。您还可以获得这些备忘单的概述:

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

© www.soinside.com 2019 - 2024. All rights reserved.