首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于围棋的ctag数据库

用于围棋的ctag数据库
EN

Stack Overflow用户
提问于 2011-11-21 04:13:21
回答 4查看 13.3K关注 0票数 24

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

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

代码语言:javascript
复制
ctags -f gosource.tags -R `pwd`

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

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

谢谢。

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

但是,http://ctags.sourceforge.net/languages.html还没有上市。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-23 11:02:31

将以下内容添加到~/.ctags

代码语言:javascript
复制
--langdef=Go
--langmap=Go:.go
--regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/d,func/
--regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,var/
--regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,type/

(来自http://go-wise.blogspot.com/2011/09/using-ctags-with-go.html)

票数 46
EN

Stack Overflow用户

发布于 2012-08-25 01:20:56

代码语言:javascript
复制
--langdef=Go
--langmap=Go:.go
--regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/f,func/
--regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/v,var/
--regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/t,type/

确实适用于ctags5.8。与前一个帖子相比,ctag要求在regex行的末尾使用唯一的1-char类型。因此,/d,func/应该直观地阅读/f,func/。这允许ctag区分和识别类型,从而允许ctags --go-types=fvt,即

票数 19
EN

Stack Overflow用户

发布于 2014-11-29 14:28:39

我看了你的帖子,笨手笨脚地试图找到一个好的工具来做这项工作,尝试了ctag,最终还是不满意。我用Go写了一个程序'gotags‘,它为Go代码生成一个ctags文件。它比当前的ctag支持更好,因为,例如,它标记结构字段名称以及结构名称本身。你可以在这里得到它:https://github.com/necro351/gotags

这是一个很好的,简短的,简单的Go程序,因为它使用了标准库解析器,除了好的Go解析和标记之外,没有额外的功能。只需检查它(或者去获取它),然后执行一次go安装。另外,如果你有任何关于改进它的建议或想法,请让我知道。

编辑:我是一个活跃的地鼠,所以我将随着时间的推移和我使用的时候更新这个工具。

编辑:我不再积极开发Go了。但我的工具非常简短,几乎可以按原样工作,所以它应该“只工作”:)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8204367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档