问题标签 [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.
c - ctags 多行 C 函数原型
ctags 有没有办法在 C 中处理多行函数原型?
我四处搜索,--fields=+S
应该做多线原型,但我无法让它工作:
文件:
ctags 只返回:
(注意返回类型也缺失)
最终我想得到一个类似于
或者
是--fields=+S
不是正确的方法?是否有我缺少的部分 ctags 字段?一般有什么指针吗?
如果在 ctags 中没有办法做到这一点,有什么推荐的程序吗?(我目前正在看 unrustify)
c - 压缩多行 C 函数原型
我有 C 函数原型(某些 windows api 头文件),如下所示:
(他们似乎没有编码约定)
我试图以编程方式将其变成表单的单行原型(或接近它的东西):
我已经研究过 ctags (ctags 多行 C 函数原型)之类的程序以及 uncrustify(http://uncrustify.sourceforge.net/)中的各种设置,但是我都无法取得任何进展。(任何洞察力都会很棒,或者我错过的 385 个不可靠的选项之一可以满足我的需求)。
以编程方式,我试图寻找表示函数原型的唯一标记,以便我可以编写一个脚本来根据我的喜好格式化代码。
如果不使用词法分析器和解析器,这似乎很快就会变得非常复杂;有什么建议么?
c - ctags 仅适用于 c99
我一直在查看ctags
手册页,但没有找到任何可以告诉 ctags 只记录c99 header files
.
本质上,我有C和C++文件的头文件,但我只希望输出与 c99 文件相对应的那些(即:没有class
东西)。
vim - Taglist:在 PATH 中找不到 Exuberant ctags
今天早上,当我尝试在 Vim 中打开文件时,我开始收到该消息。Vim 是我选择的配置文件、git 提交消息等的编辑器,但不是我的日常代码编辑器。我显然做了一些事情来邀请这个消息,但我不知道是什么。我最近确实从 中卸载了旧版本的 XCode /Developer-3.2.6
,但这是我想到的唯一一件似乎甚至是切线相关的事情。
我正在运行 OSX Lion。Excuberant ctags 是基础安装的一部分吗?我知道我不是故意安装它,但如果它不是本机的,那么它可能与其他东西一起出现?关于如何取回插件或删除对它的引用的任何想法,所以我没有收到警告消息?
谢谢。
c++ - 用 C++ 解析 Exuberant Ctags
我需要用符号浏览器做一个编辑器,我说我会玩 ctags。好吧,我阅读了 ctags 格式并尝试使用 Google 并在 SO 上搜索。我发现的只是关于 ctags 和 vim 的问题,而我在 vim 上为零。所以我决定自己一个人玩。所以我拿了一个标签文件,我完全糊涂了!
在这里,我放置了 PHP 文件及其相应的标签,我需要您的帮助,我如何知道该行代表类属性还是方法?另外我怎么知道 PHP 函数/方法的返回值?
除了 vi/vim 连接之外,我还没有找到任何关于在 ctags 中处理 PHP(或任何其他语言)标签的好教程!谢谢
PHP 文件
标签文件
exuberant-ctags - 排除 Exuberant CTags 中的目录
我正在使用一个非常大的代码库,我发现选择包含哪些目录以用于 Exuberant Ctags 很有用。
该--exclude
选项可以很好地消除单个文件和目录名称(使用通配符),但我无法弄清楚如何让它排除包含多个目录的路径模式。
例如,我可能想排除一个目录tests
,但仅在处理时thirdparty\tests
(在 Windows 下)。问题是如果我只使用--exclude=tests
我排除了太多目录,包括我正在积极处理的代码中的测试目录。
以下是我尝试过的一些事情:
Ctags 默默地忽略了所有这些,正如对标签文件的检查所证明的那样。
仅当目录前面有给定的父目录时,如何才能排除该目录?
添加:
这是我的ctags --version
输出:
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 没有列出。
c++ - 如何使 vim 标记跳转像 OmniCppComplete 一样智能?
我像这样生成我的标签(Exuberant Ctags 5.9~svn20110310):
我大致有这样的类结构:
(代码来自Aquaria 的开源版本。)
如果我标记跳转offset
(Ctrl- ]),那么我会在我的代码库中得到一个列表offset
。在我输入offset.
到结尾之后shiftRight()
,OmniCppComplete 开始只为InterpolatedVector
.
如何让我的标签跳转像OmniCppComplete一样智能?
仅仅是标签跳转不使用任何上下文,所以他们只知道符号名称吗?(它与完全相同:tag <C-r><C-w><CR>
吗?)是否有一种 vim 替代方案可以使它们具有上下文感知能力?
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”的文件)