我想用Go语言的基本自动完成功能编写一个简单的编辑器作为宠物项目。人们会怎么做呢?我看了一下Eclipse和IntelliJ的Go插件,但它们太大了,让我无法理解(更不用说让一个人去编译)。如何从语言x中的Go编译包获取类型信息?
2
A
回答
2
Go标准库提供Go parser的构建块,您可以使用这些构件块来解析源文件并查找函数定义等。
还有godoc
命令,其中 已经做了你想要的:提取方法定义和它的文档。你可以在 source code看看godoc
是 工作或直接使用godoc
。
This editor written in Go项目有一个可管理的代码量, 您可以查看它。
2
这个问题的事实标准方法是使用nsf's gocode。我只在Vim尝试过 - 它工作得很好。
尽管现在已经为特定的编辑器提供了支持,但gocode并非特定于编辑器。这是一个通信协议的守护进程。因此它可以在任何程序中使用。
相关问题
- 1. 如何从泛型中获取类的类型信息?
- 2. 从go-github中提取信息主要类型
- 3. Java到Java Bytecode编译器:如何获取Java类库信息?
- 4. 获取宏中的类型信息
- 5. 如何从编译类型获取类对象?
- 6. 如何在C#中使用词类获取多语言翻译?
- 7. 如何在go语言中使用encoding/xml包获取xml属性值
- 8. 如何从GO结构中获取嵌入式类型?
- 9. Maestro信用卡:从MSR转储(任何语言)提取信息
- 10. 如何从SOP表示转换后的类型获取数据类型信息?
- 11. 如何从TGUID获取界面类型信息?
- 12. 使用C扩展Go编程语言,转换数据类型
- 13. GWT:从服务器端获取语言环境信息?
- 14. 如何为该语言的某种语言编写编译器?
- 15. 纯函数编译器如何用类型信息注释AST?
- 16. 获取C符号的类型信息
- 17. 编译Go编程语言有多困难?
- 18. 如何获取Go中实现接口的包中定义的所有类型?
- 19. 如何理解go语言中的`defer`?
- 20. Typescript编译器API或语言服务获取函数参数类型
- 21. 正在搜索关于Go语言的信息
- 22. C# - 如何从语言代码中获取语言名称?
- 23. 如何从java applet中获取信息?
- 24. 如何从图像中获取信息?
- 25. 如何从标准中获取信息?
- 26. 如何从子表中获取信息
- 27. 如何从PDF中获取Python3中的字体和字体类型信息
- 28. 从C++到Arduino的通信在OS X上的编程语言
- 29. 如何从没有国家的语言获取语言CultureInfo
- 30. 使用什么语言编写Go编程语言?