为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

2 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

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

还有一个godoc命令已经可以完成您想要的操作:提取方法定义及其文档。您可以查看 源代码以查看如何godoc工作或godoc直接使用。

这个用 Go项目编写的编辑器有大量可管理的代码,你可以研究一下。


查看完整回答
反对 回复 2021-06-07
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

解决这个问题的事实上的标准方法是使用nsf 的 gocode。我只在 Vim 中尝试过 - 它工作得很好。

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


查看完整回答
反对 回复 2021-06-07
  • 2 回答
  • 0 关注
  • 212 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信