Go 部落格

VS Code Go 擴充套件預設啟用 Gopls

Go 工具團隊
2021 年 2 月 1 日

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

gopls 提供 IDE 功能,例如智慧自動補全、簽名幫助、重構和工作區符號搜尋。)

Go 模組兩年前釋出時,徹底改變了 Go 開發者工具的格局。以前,goimportsgodef 等工具依賴於程式碼儲存在您的 $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 安全
部落格索引