2

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

4

2 回答 2

2

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

还有一个godoc命令已经做了你想要的:提取方法定义和它的文档。您可以查看 源代码以了解godoc其工作方式或godoc直接使用方式。

这个用 Go项目编写的编辑器具有可管理的代码量,您可以查看它。

于 2013-03-25T05:39:59.200 回答
2

解决这个问题的事实上的标准方法是使用nsf 的 gocode。我只在 Vim 中尝试过——效果很好。

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

于 2013-03-25T08:21:42.053 回答