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
已经完善。我们将继续致力于修复错误、添加新功能以及提高整体稳定性。我们下一个重点领域将是改善 使用多个模块时的用户体验。来自我们更广泛的用户群的反馈将有助于我们确定下一步行动。
那么,您应该做什么呢?
如果您使用 VS Code,则无需执行任何操作。当您获得下一个 VS Code Go 更新时,gopls
将自动启用。
如果您使用其他编辑器,您很可能已经在使用 gopls
了。如果没有,请参阅 gopls
用户指南 了解如何在您首选的编辑器中启用 gopls
。语言服务器协议确保 gopls
将继续为每个编辑器提供相同的功能。
如果 gopls
不适合您,请参阅我们的 详细故障排除指南 并提交问题。如果需要,您始终可以在 VS Code 中 禁用 gopls
。
感谢
对于我们现有的用户,感谢您在我们第三次重写缓存层时一直支持我们。对于我们的新用户,我们期待听到您的使用体验报告和反馈。
最后,没有关于 Go 工具的讨论是完整的,如果没有提及 Go 工具社区的宝贵贡献。感谢您的长时间讨论、详细的错误报告、集成测试,最重要的是,感谢您的出色贡献。最令人兴奋的 gopls
功能来自于我们充满激情的开源贡献者,我们感谢您的辛勤工作和奉献。
了解更多
观看 屏幕录像,了解如何开始使用 gopls
和 VS Code Go,并查看 VS Code Go 自述文件 以获取更多信息。
如果您想更详细地了解 gopls
,请参阅 gopls
自述文件。
下一篇文章:Go 1.16 发布
上一篇文章:Go 中的命令 PATH 安全性
博客索引