我想用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(語言)從片陣列
- 3. Go從哪裏獲取時區信息?
- 4. 從go-github中提取信息主要類型
- 5. 如何從Go庫中獲取對象構建信息?
- 6. 如何從FSharp提示中獲取有關類型的信息
- 7. Java到Java Bytecode編譯器:如何獲取Java類庫信息?
- 8. 從語言類獲取語言
- 9. 如何用Go語言的cgo編譯Cuda源碼?
- 10. 從CsvProvider獲取列類型信息?
- 11. 獲取宏中的類型信息
- 12. 如何使用Go語言編譯程序?
- 13. 如何從ispell或aspell獲取類似編譯器的消息
- 14. 如何從編譯類型獲取類對象?
- 15. 如何在C#中使用詞類獲取多語言翻譯?
- 16. 從TFS獲取使用的語言統計信息
- 17. 如何在go語言中使用encoding/xml包獲取xml屬性值
- 18. 如何從Python distutils獲取特定的C編譯器類型?
- 19. 彙編語言的類型
- 20. Maestro信用卡:從MSR轉儲(任何語言)提取信息
- 21. 如何從C++中的語言ID獲取語言名稱?
- 22. 如何從GO結構中獲取嵌入式類型?
- 23. 如何從SOP表示轉換後的類型獲取數據類型信息?
- 24. 如何從TGUID獲取界面類型信息?
- 25. 使用C擴展Go編程語言,轉換數據類型
- 26. 如何爲該語言的某種語言編寫編譯器?
- 27. GWT:從服務器端獲取語言環境信息?
- 28. java編譯器如何知道jar中代碼的泛型類型信息?
- 29. 如何在編譯期間輸出C++類型信息
- 30. 純函數編譯器如何用類型信息註釋AST?