如何从语言x中的Go编译包中获取类型信息?

时间:2013-03-25 05:10:26

标签: parsing go

我想编写一个简单的编辑器,将Go语言的基本自动完成功能作为宠物项目。怎么会去做呢?我看了一下Eclipse和IntelliJ的Go插件,但它们太大了我无法理解(更不用说要编译了)。

2 个答案:

答案 0 :(得分:2)

Go标准库提供了Go parser的构建块 您可以使用它来解析源文件并查找函数定义等。

还有godoc命令 已经做了你想要的:提取方法定义及其文档。你可以看一下 source code了解godoc是怎样的 直接工作或使用godoc

This editor written in Go项目拥有可管理的代码量, 你可以调查一下。

答案 1 :(得分:2)

解决此问题的事实标准方法是使用nsf's gocode。我只在Vim尝试过它 - 效果很好。

即使已经准备好支持特定的编辑器,gocode也不是特定于编辑器的。它是一个带有通信协议的守护进程。因此可以从任何程序中使用。