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 安全
博客索引