返回市场
双子座命令行-go语言服务器

双子座命令行-go语言服务器

作者:Menghuan19185 星标更新:2025-10-11

项目介绍

Gopls 扩展程序用于 Gemini CLI

英文 | 简体中文

此扩展程序集成了 Go 语言服务器 (gopls) 的官方 MCP(多语言协议)与 Gemini CLI。通过在 CLI 环境中直接提供语言感知功能,它使 Gemini 能够更精确地理解和修改 Go 代码。

演示

为了展示其有效性,我在一个 Go 项目中进行了相同的代码重构任务,分别使用和不使用此扩展程序。

使用扩展程序时,Gemini CLI 调用 gopls 工具以获取精确的符号关系,并在每次文件修改后立即运行诊断。这避免了在最终编译时一次性处理大量语法错误的情况。

使用扩展程序后,重构的速度和准确性显著提高。例如,在比较案例中,当未使用扩展程序时,Gemini 错过了更新一些对重构代码的引用。

对比

安装

使用以下 Gemini CLI 命令安装此扩展程序:

gemini extensions install https://github.com/Menghuan1918/gemini-cli-gopls

该扩展程序会在运行时自动检查系统 PATH 中的 gopls 版本。由于 MCP 功能需要 gopls v0.20.0 或更高版本,如果未找到兼容版本的 gopls,扩展程序将尝试自动下载并安装到 ~/go/bin 目录下。

如果仍然无法启动,请尝试手动将 gopls v0.20.0 或更高版本安装到您的 PATH 中。

功能

此扩展程序基于 gopls MCP 向 Gemini CLI 提供以下工具:

  • go_diagnostics:基于工作区的语法错误检查
  • go_file_context:总结文件之间的跨文件依赖关系
  • go_package_api:提供外部/内部 Go 包 API 的信息
  • go_search:在工作区内搜索符号
  • go_symbol_references:提供 Go 符号的引用位置
  • go_workspace:提供 Go 工作区的信息

此外,插件内置了来自官方 gopls MCP 的提示,并进行了轻微修改以更好地适应 Gemini CLI。您可以在 GEMINI.md 中查看它们。

内置的来自官方 gopls MCP 的提示是通过 gopls mcp -instructions > GEMINI.md 导出的。

使用方法

在 Go 项目中启动(即包含 go.mod 文件的工作区),相关工具会自动加载。否则,仅加载空的 MCP 服务(以避免错误)。