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