Go 部落格
VS Code Go 擴充套件預設啟用 Gopls
我們很高興地宣佈,VS Code Go 擴充套件現在預設啟用 gopls 語言伺服器,以提供更強大的 IDE 功能和更好的 Go 模組支援。

(gopls
提供 IDE 功能,例如智慧自動補全、簽名幫助、重構和工作區符號搜尋。)
Go 模組兩年前釋出時,徹底改變了 Go 開發者工具的格局。以前,goimports
和 godef
等工具依賴於程式碼儲存在您的 $GOPATH
中。當 Go 團隊開始重寫這些工具以支援模組時,我們立即意識到需要一種更系統的方法來彌合差距。
因此,我們開始開發一個統一的 Go 語言伺服器 gopls
,它為任何相容的編輯器前端提供 IDE 功能,如自動補全、格式化和診斷。這個持久且統一的伺服器與早期的命令列工具集合相比,是一個根本性的轉變。
除了開發 gopls
,我們還尋求其他方法來建立一個穩定的編輯器工具生態系統。去年,Go 團隊負責維護 VS Code 的 Go 擴充套件。作為這項工作的一部分,我們優化了擴充套件與語言伺服器的整合——自動化 gopls
更新,重新組織和澄清 gopls
設定,改進故障排除流程,並透過調查徵集反饋。我們還持續培養活躍使用者和貢獻者的社群,他們幫助我們提高了 Go 擴充套件的穩定性、效能和使用者體驗。
公告
1 月 28 日標誌著 gopls
和 VS Code Go 發展歷程中的一個重要里程碑,因為 gopls
現在已在 VS Code 的 Go 擴充套件中預設啟用。
在此切換之前,我們花費了大量時間迭代 gopls
的設計、功能集和使用者體驗,重點在於提升效能和穩定性。一年多來,gopls
一直是 Vim、Emacs 和其他編輯器大多數外掛中的預設設定。我們已經發布了 24 個版本的 gopls
,我們非常感謝使用者始終如一地提供反饋並報告每個版本的問題。
我們還投入時間來最佳化新使用者體驗。我們希望 VS Code Go 與 gopls
結合使用時能夠直觀易懂,錯誤資訊清晰明瞭,但如果您有疑問或需要調整某些配置,可以在我們的更新文件中找到答案。我們還錄製了螢幕錄影來幫助您入門,並提供了動畫演示,展示一些不太容易發現的功能。
Gopls 是處理 Go 程式碼的最佳方式,尤其是在使用 Go 模組時。隨著 Go 1.16 即將釋出(其中模組預設啟用),VS Code Go 使用者將獲得開箱即用的最佳體驗。
不過,本次切換並不意味著 gopls
已經完成。我們將繼續致力於 bug 修復、新功能開發和整體穩定性提升。我們的下一個重點將是改進處理多個模組時的使用者體驗。來自我們更大使用者群體的反饋將有助於指導我們下一步的工作。
那麼,您該怎麼做?
如果您使用 VS Code,您無需做任何事情。當您獲得下一個 VS Code Go 更新時,gopls
將自動啟用。
如果您使用其他編輯器,您很可能已經在使用了 gopls
。如果還沒有,請參閱gopls
使用者指南,瞭解如何在您偏好的編輯器中啟用 gopls
。語言伺服器協議確保 gopls
將繼續為所有編輯器提供相同的功能。
如果 gopls
對您不起作用,請查閱我們的詳細故障排除指南並提交問題。如果需要,您隨時可以在 VS Code 中停用 gopls
。
感謝
致現有使用者,感謝您在我們第三次重寫快取層時的耐心。致新使用者,我們期待您的體驗報告和反饋。
最後,在討論 Go 工具時,不能不提及 Go 工具社群的寶貴貢獻。感謝您進行了長時間的討論、提交了詳細的 bug 報告、編寫了整合測試,最重要的是,感謝您的傑出貢獻。gopls
中最令人興奮的功能來自我們充滿熱情的開源貢獻者,我們感謝您的辛勤工作和奉獻精神。
瞭解更多
觀看螢幕錄影,瞭解如何開始使用 gopls
和 VS Code Go 的詳細步驟,並檢視 VS Code Go README 獲取更多資訊。
如果您想更詳細地瞭解 gopls
,請參閱 gopls
README。
下一篇文章:Go 1.16 釋出
上一篇文章:Go 中的命令列 PATH 安全
部落格索引