首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
Go语言服务器gopls2026-10-22397分享添加福利群:解决AI开发者的「MCP实战痛点」
`gopls` 是 Go 团队开发的官方 Go 语言服务器,为兼容 LSP 的编辑器提供 IDE 功能,如代码补全、导航等。它自动集成到编辑器,支持多种编辑器及工作区模式,可配置。由 Go 工具团队维护,遵循特定支持政策,有故障排除指南等更多信息。
By golang
2026-10-22397
github
详情内容

gopls,Go 语言服务器

PkgGoDev

gopls(发音为“Go please”)是由 Go 团队开发的官方 Go 语言服务器。它为任何兼容 LSP 的编辑器提供了丰富的 IDE 功能。

你通常不需要直接与 gopls 交互——它会自动集成到你的编辑器中。具体功能和设置因编辑器而异,因此我们建议你查看下面的编辑器文档。此外,gopls 的每个功能的文档都会说明它是否在每个客户端编辑器中被支持。

编辑器

要开始使用 gopls,请在你选择的编辑器中安装一个 LSP 插件。

如果你使用的编辑器不在这个列表中,请发送一个 CL 更新此文档。

安装

在大多数情况下,你不需要手动安装或更新 gopls。你的编辑器应该会为你处理这一步。

如果你想获取 gopls 的最新稳定版本,请运行以下命令:

go install golang.org/x/tools/gopls@latest

更多信息请参阅高级安装说明。

有关 gopls 发布的更多信息,请参阅发布策略。

设置你的工作区

gopls 支持 Go 模块、多模块和 GOPATH 模式。有关支持的工作区布局的信息,请参阅工作区文档。

配置

你可以配置 gopls 来改变你的编辑器体验或查看额外的调试信息。配置选项将由你的编辑器提供,因此请参阅你的编辑器说明以获取具体细节。完整的 gopls 设置列表可以在设置文档中找到。

环境变量

gopls 继承你的编辑器环境,因此请注意你配置的任何环境变量。一些编辑器,如 VS Code,允许用户选择性地覆盖某些环境变量的值。

支持政策

gopls 由 Go 工具团队 的工程师维护,他们积极监控 Go 和 VS Code Go 的问题跟踪器。

支持的 Go 版本

gopls 遵循 Go 发布政策,这意味着它正式只支持最近的两个主要 Go 版本。直到 2024 年 8 月,Go 团队还将尽力支持最近的 4 个主要 Go 版本,如 issue #39146 中所述。

使用 gopls 时,需要注意三个版本:

  1. gopls 构建 Go 版本: 用于构建 gopls 的 Go 版本。
  2. go 命令版本: gopls 执行的 go list 命令的版本,用于加载有关你工作区的信息。
  3. 语言版本: 当前文件的 go.mod 文件中的 go 指令指定的版本,它决定了文件的 Go 语言语义。

从 2024 年 8 月发布的 Go 1.23.0 和 gopls@v0.17.0 开始,我们只支持最新的 Go 版本作为 gopls 构建 Go 版本。然而,由于 Go 1.21 中添加的向前兼容性支持,只要使用 Go 1.21 或更高版本安装 gopls,任何必要的工具链升级都将自动处理,就像其他依赖项一样。

此外,从 gopls@v0.17.0 开始,go 命令版本 将从 4 个版本缩小到 3 个。这与 Go 发布政策更加一致。

gopls 支持 所有 Go 版本作为其 语言版本,通过根据语言版本提供编译器错误,并根据该 Go 版本可用的标准库 API 过滤可用的标准库符号。

维护对使用旧版本 Go 构建 gopls 的支持给 gopls 维护者带来了显著的摩擦,并阻碍了其他改进。如果你无法在系统上安装支持的 Go 版本,你仍然可以安装旧版本的 gopls。下表显示了支持给定 Go 版本的最终 gopls 版本。表中列出的 Go 版本之后的任何版本都可以与任何版本的 gopls 一起使用。

Go 版本 支持的最终 gopls 版本(无警告)
Go 1.12 gopls@v0.7.5
Go 1.15 gopls@v0.9.5
Go 1.17 gopls@v0.11.0
Go 1.18 gopls@v0.14.2
Go 1.20 gopls@v0.15.3

支持的构建系统

gopls 目前只支持 go 命令,因此如果你使用不同的构建系统,gopls 将无法正常工作。Bazel 不被官方支持,但可以通过适当配置的 go/packages 驱动程序使其工作。更多信息请参阅 bazelbuild/rules_go#512。你可以按照这些说明配置你的 gopls 以与 Bazel 一起工作。

故障排除

如果你在使用 gopls 时遇到问题,请按照故障排除指南中的步骤进行操作。

更多信息

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档