- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
为了研究新文件,我习惯于使用适当的选项运行 ctags
,问题是显然这个程序不支持 C++11,我只是很好地使用它,直到我发现这个程序的开发在几年前就结束了。
现在我需要一个适用于 C++11 及更高版本的等效工具,而且我记得仅 clang
就能够输出任何给定文件的 AST
,所以我是想知道前端是否具有与我以前使用 ctags
所做的类似的功能。
例如,这是您可以在 C++ 模式下使用 ctags
轻松列出的实体
ctags --list-kinds=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]
clang
是否能够执行类似的任务?
最佳答案
看看rtags工具。它使用 clang 重新编译你的整个项目。之后,您可以使用它来浏览源。唯一的问题是AST 是在预处理器运行后构建的,因此被禁用的代码宏不可用于导航。
该项目维护一组 elisp 绑定(bind),允许您从 emacs 控制 RTags
。对于 vim 中的集成,请参阅 lyuts 的第三方项目或 Shane Harper .
关于c++ - clang 能代替 Exuberant Ctags 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26961756/
ctags 没有看到我的 ~/.ctags文件,所以我尝试使用 --options 指定它选项,但它总是说它找不到文件,无论我把它放在哪里: $ touch .ctags && ctags --opt
我有一个 $HOME/.ctags文件来自 exuberant-tags ,但是 universal-tags似乎没有从中挑选我的选择。通用标签是否支持这些配置文件? 最佳答案 见 this docu
有没有人知道怎么生成调用层次图与 ctags 和 cscope ?我需要在终端中运行命令并将输出重定向到文件 , 而不是在 vim 中进行。 最佳答案 您可以使用 cflow 来执行此操作。只需将其用
请查看我的终端 session 的输出 sharpair:~$ /usr/bin/ctags usage: ctags [-BFadtuwvx] [-f tagsfile] file ... shar
我正在尝试在 Mac OS 上使用 exuberant ctags。我已经用 homebrew 安装了 exuberant ctags .这是我的版本: $ ctags --version Exube
我正在使用一个非常大的代码库,我发现有选择地选择包含哪些目录以供 Exuberant Ctags 使用非常有用。 --exclude 选项可以很好地消除单个文件和目录名称(带有全局通配符),但我不知道
假设我的 c 项目 中有大约 100000 个 *.c *.h 文件。我使用 find 命令将其列出到 cscope.files 中,然后从中创建 cscope.out 和标记文件,如下所示。 1.
目前我正在使用这个命令来生成 ctags: ctags -R --languages=ruby,javascript --exclude=.git --exclude=log . $(bundle l
从技术上讲,我正在使用 Tagbar在 vim 中查看文件的标签,但这个问题通常适用于 exuberant ctags,v5.8。 假设我有以下 python 文件,将其命名为 foo.py : cl
我正在使用“ExuberantCtags”,也称为“ctags -e”,也称为“etags” 我正在尝试了解由 etags 命令生成的 TAGS 文件格式,特别是我想了解 TAGS 文件的第 2 行。
exuberant ctags在哪里开发的?我found最新版本是 5.8但在我的系统中已经有版本5.9。 谢谢 最佳答案 您没有写出版本“5.9”的来源。您使用的是 Debian、Ubuntu 或其
我正在为自定义语言编写一个 .ctags 文件...与大多数语言一样,它允许在一行中声明多个变量...即: int a, b, c; 我有一个识别“a”的基本正则表达式: --regex-mylang
我正在尝试将.volt扩展名添加到ctags语言地图中,但它始终忽略.volt文件。这是我的.ctags文件的内容: --recurse=yes --tag-relative=yes --exclud
我需要使用 Ctags 来生成标记文件,但我更喜欢将其作为库而不是可执行文件。是否有任何可用的软件包作为库?我有一个带有可执行文件的编译版本,但不想在我的应用程序中运行新进程。任何建议或指示表示赞赏
我正在尝试将 vim 与 ctags 和/或 cscope 一起使用,它工作得很好,但我遇到了一些问题,其中 ctags 跳转到了错误的符号。例如在下面的代码中,如果我将光标放在 main() 中的符
我喜欢 Ctags 但事实上,每次我添加一个新方法时,我都需要重新创建我的文件,这可能会适得其反,不仅如此,而且如果我需要重新启动 VIM session ,那就更糟了,我也注意到我需要为我想要使用的
我有一个使用 Vim 的 Ctags 设置。 我目前的设置如下: set tags=./tags;/ set tags+=~/.ctags/*/tags 它基本上会查找 tags当前目录中的文件,直到
我想使用 vim 和 ctags 将我自己的信息存储在一个文件夹中。有什么方法可以实现吗? 示例:我想插入一条关于 mysql 的信息,我正在创建一个文件或其他新结构,以便将来可以由 ctags 解析
当我构建/更新我的标签文件时,ctags 从当前目录开始并递归地向下工作。 我希望它还包含一个完全不同的搜索路径、一个映射的网络驱动器,并将这些结果也添加到我的标签文件中。 有没有办法做到这一点? 最
为gcc 4.4.3 c89使用旺盛的ctags 5.8 我刚刚开始使用茂盛的标签,我只是想知道您添加了哪些选项。 这是一个列表,我只是想知道是否添加了太多,以至于无法解决。 $ ctags --li
我是一名优秀的程序员,十分优秀!