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

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


当年话下
浏览 213回答 2
2回答

喵喵时光机

Go 标准库为Go 解析器提供了构建块,您可以使用它来解析源文件并查找函数定义等。还有一个godoc命令已经可以完成您想要的操作:提取方法定义及其文档。您可以查看 源代码以查看如何godoc工作或godoc直接使用。这个用 Go项目编写的编辑器有大量可管理的代码,你可以研究一下。

慕丝7291255

解决这个问题的事实上的标准方法是使用nsf 的 gocode。我只在 Vim 中尝试过 - 它工作得很好。尽管有对特定编辑器的现成支持,但 gocode 并不是特定于编辑器的。它是一个具有通信协议的守护进程。因此它可以从任何程序中使用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go