问题标签 [exuberant-ctags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3400 浏览

c - ctags 多行 C 函数原型

ctags 有没有办法在 C 中处理多行函数原型?

我四处搜索,--fields=+S应该做多线原型,但我无法让它工作:

文件:

ctags 只返回:

(注意返回类型也缺失)

最终我想得到一个类似于

或者

--fields=+S不是正确的方法?是否有我缺少的部分 ctags 字段?一般有什么指针吗?

如果在 ctags 中没有办法做到这一点,有什么推荐的程序吗?(我目前正在看 unrustify)

0 投票
4 回答
1541 浏览

c - 压缩多行 C 函数原型

我有 C 函数原型(某些 windows api 头文件),如下所示:

(他们似乎没有编码约定)

我试图以编程方式将其变成表单的单行原型(或接近它的东西):

我已经研究过 ctags (ctags 多行 C 函数原型)之类的程序以及 uncrustify(http://uncrustify.sourceforge.net/)中的各种设置,但是我都无法取得任何进展。(任何洞察力都会很棒,或者我错过的 385 个不可靠的选项之一可以满足我的需求)。

以编程方式,我试图寻找表示函数原型的唯一标记,以便我可以编写一个脚本来根据我的喜好格式化代码。

如果不使用词法分析器和解析器,这似乎很快就会变得非常复杂;有什么建议么?

0 投票
1 回答
233 浏览

c - ctags 仅适用于 c99

我一直在查看ctags手册页,但没有找到任何可以告诉 ctags 只记录c99 header files.

本质上,我有CC++文件的头文件,但我只希望输出与 c99 文件相对应的那些(即:没有class东西)。

0 投票
7 回答
24010 浏览

vim - Taglist:在 PATH 中找不到 Exuberant ctags

今天早上,当我尝试在 Vim 中打开文件时,我开始收到该消息。Vim 是我选择的配置文件、git 提交消息等的编辑器,但不是我的日常代码编辑器。我显然做了一些事情来邀请这个消息,但我不知道是什么。我最近确实从 中卸载了旧版本的 XCode /Developer-3.2.6,但这是我想到的唯一一件似乎甚至是切线相关的事情。

我正在运行 OSX Lion。Excuberant ctags 是基础安装的一部分吗?我知道我不是故意安装它,但如果它不是本机的,那么它可能与其他东西一起出现?关于如何取回插件或删除对它的引用的任何想法,所以我没有收到警告消息?

谢谢。

0 投票
2 回答
1459 浏览

c++ - 用 C++ 解析 Exuberant Ctags

我需要用符号浏览器做一个编辑器,我说我会玩 ctags。好吧,我阅读了 ctags 格式并尝试使用 Google 并在 SO 上搜索。我发现的只是关于 ctags 和 vim 的问题,而我在 vim 上为零。所以我决定自己一个人玩。所以我拿了一个标签文件,我完全糊涂了!

在这里,我放置了 PHP 文件及其相应的标签,我需要您的帮助,我如何知道该行代表类属性还是方法?另外我怎么知道 PHP 函数/方法的返回值?

除了 vi/vim 连接之外,我还没有找到任何关于在 ctags 中处理 PHP(或任何其他语言)标签的好教程!谢谢

PHP 文件

标签文件

0 投票
3 回答
11191 浏览

exuberant-ctags - 排除 Exuberant CTags 中的目录

我正在使用一个非常大的代码库,我发现选择包含哪些目录以用于 Exuberant Ctags 很有用。

--exclude选项可以很好地消除单个文件和目录名称(使用通配符),但我无法弄清楚如何让它排除包含多个目录的路径模式。

例如,我可能想排除一个目录tests,但仅在处理时thirdparty\tests(在 Windows 下)。问题是如果我只使用--exclude=tests我排除了太多目录,包括我正在积极处理的代码中的测试目录。

以下是我尝试过的一些事情:

Ctags 默默地忽略了所有这些,正如对标签文件的检查所证明的那样。

仅当目录前面有给定的父目录时,如何才能排除该目录?

添加:

这是我的ctags --version输出:

0 投票
4 回答
13550 浏览

go - Go 的 ctag 数据库

如何为 Go 源代码生成标签文件

在 mac 中,我安装了 exuberant ctags ,并在源目录中尝试了以下命令

但是,它不考虑 *.go 文件。我必须使用 -h 选项吗?但是,根据手册,它不仅适用于头文件吗?

请给我正确的命令,以便我可以在 vim 中使用标签文件。我也更喜欢绝对路径,这样我就可以将文件保存在任何地方

谢谢。

编辑:我假设当前的 ctags 支持 Go,看到http://groups.google.com/group/golang-nuts/browse_thread/thread/3a4848db231b02c9

但是,http: //ctags.sourceforge.net/languages.html 没有列出。

0 投票
1 回答
628 浏览

c++ - 如何使 vim 标记跳转像 OmniCppComplete 一样智能?

我像这样生成我的标签(Exuberant Ctags 5.9~svn20110310):

我大致有这样的类结构:

(代码来自Aquaria 的开源版本。)

如果我标记跳转offsetCtrl- ]),那么我会在我的代码库中得到一个列表offset。在我输入offset.到结尾之后shiftRight(),OmniCppComplete 开始只为InterpolatedVector.

如何让我的标签跳转像OmniCppComplete一样智能?

仅仅是标签跳转不使用任何上下文,所以他们只知道符号名称吗?(它与完全相同:tag <C-r><C-w><CR>吗?)是否有一种 vim 替代方案可以使它们具有上下文感知能力?

0 投票
1 回答
1369 浏览

ctags - 最新版本的 ctags

在哪里开发exuberant ctags?我发现最新版本是5.8但在我的系统中已经有 version 5.9

谢谢

0 投票
1 回答
3440 浏览

emacs - 如何在使用 emacs 的旺盛 ctags 时为 verilog 语言指定和使用头文件

我最近开始使用丰富的 ctags 和 emacs 进行 verilog 和系统 verilog 编码和代码浏览。我目前使用命令生成标签

我的代码包含很多`define 宏,这些宏都在某些扩展名为“.vh”和“.svh”的头文件中指定。例如,名为foo.vh的头文件具有以下代码

并且文件top.v调用宏如下

使用 emacs浏览top.v文件时,有什么方法可以直接跳转到foo.vh文件中的宏定义?

我已经使用M-x tags-search <RET> WIDTH_ADDRESS <RET>了一段时间,但是在到达 foo.vh 文件之前,它会跳转到其他文件中的许多其他 `WIDTH_ADDRESS 实例。

-h经过一些研究,我确实看到了一个选项,可以在标签生成期间使用带有 ctags的选项来指定头文件。但是我无法让它工作,我猜我的部分存在一些语法错误。

首先,使用-h选项指定头文件有什么显着的好处吗?如果是这样,指定头文件的正确语法是什么?我也可以指定emacs在解析其他文件(扩展名为“.v”和“.sv”)之前先查看这些头文件(扩展名为“.vh”和“.svh”的文件)