IntelliJ IDEA 2025.1 Help

Go

默认情况下,IntelliJ IDEA 会建议创建一个 Go modules 项目。 使用 Go modules,您不需要将项目文件保存在 GOPATH 下, 可以轻松管理项目中的依赖项。 详细了解 Go 模块,请访问 go.dev

创建 Go 项目

  1. 选择 文件(F) | 新建(N) | 新建项目…

    或者,点击 New Project欢迎访问IntelliJ IDEA 对话框中。

  2. 新建项目 对话框中,从可用项目类型列表中选择 新建项目

    确保在 语言 列表中选择 Go 作为项目语言。

  3. GOROOT 字段中,指定您的 Go 安装位置。 IntelliJ IDEA 通常会自动检测到此位置。

    要更改或安装新的 Go SDK 版本,请点击 添加 SDK添加 SDK 图标 ),然后选择以下选项之一:

    • 本地 :使用本地系统中的现有 SDK。

    • 下载 :从官方存储库下载一个 Go SDK 版本。

  4. (可选)选中或清除 自动启用供应支持 复选框。

  5. (可选)在 环境 字段中,指定您的项目所需的任何环境变量。 例如, GOPROXY

    要了解更多信息,请参阅 环境变量部分

  6. 点击 创建 创建项目。

    下载 Go SDK

为 Go 项目更改 IML 文件位置

在 IntelliJ IDEA 中创建 Go 项目时,您可以为 .iml 文件指定一个目录。 默认位置是项目的根目录。

如果您想更改 IntelliJ IDEA 中现有 Go 项目的 IML 文件位置,您需要修改 modules.xml 文件在 .idea 目录中。

更改现有 Go 项目的 IML 文件位置

  1. 项目 工具窗口中,导航到项目的 .idea 文件夹。

  2. .idea/ 添加到 IML 文件位置的 fileurlfilepath 属性。

  3. 请将 IML 文件移至 .idea 目录。

    更改现有 Go 项目的 IML 文件位置

在项目中使用 Go modules

项目 工具窗口中 (视图(V) | 工具窗口(T) | 项目 ),使用 Go modules 会显示它们的完整导入路径。 每个 Go Module 的版本以暗淡的字体颜色显示,以帮助您区分它们。

Go Module 以灰色字体显示

如果您在 IDE 中创建一个新的 Go modules 项目,则 Go modules 已经启用。 如果您从 Github 拉取了 Go 模块项目,则需要手动启用 Go modules。

在项目中启用 Go modules

  1. Ctrl+Alt+S 打开设置,然后选择 语言与框架 | Go Go 模块

  2. 请选择 启用Go 模块集成 复选框。

  3. 点击 确定(O)

    在项目中启用新项目

处理依赖关系

默认情况下,IntelliJ IDEA 会在您打开项目或修改 go.mod 时下载所有必要的依赖项。 您可以在设置中配置此行为。

禁用 Go 模块依赖项的自动下载

  1. 通过按下 Ctrl+Alt+S 打开设置,并导航到 Go | Go Modules。 .

  2. 点击 下载 Go 模块依赖项 下拉列表并选择所需选项。 您可以在以下选项中进行选择:

    • 为所有项目启用 :激活您打开的所有项目的 Go 依赖项的自动下载。 这是默认设置。 IDE 在每次执行 'go list -m' 后都会自动运行 'go mod download'。 如果您的网络连接有限或只需要下载某些 Go 模块的依赖项,请禁用此选项。

    • 为所有项目禁用 :关闭所有打开的项目的 Go 依赖项的自动下载功能。

    • 为当前项目启用,为其他项目禁用 :仅为当前项目激活 Go 依赖项的自动下载。 当在 IDE 中打开一个新项目时, 下载 Go 模块依赖项 设置将默认为 为所有项目禁用

    • 为当前项目禁用,为其他项目启用 :仅针对当前项目关闭 Go 依赖项的自动下载。 当在 IDE 中打开一个新项目时, 下载 Go 模块依赖项 设置将默认为 为所有项目启用

从 go.mod 同步依赖

  1. 确保启用 Go modules 集成。 有关启用 Go 模块集成的更多信息,请参阅 在项目中启用新项目

  2. 项目 工具窗口 (视图(V) | 工具窗口(T) | 项目 ),双击 MOD 文件。

  3. 点击依赖声明。

  4. Alt+Enter 并选择您想执行的操作。 您可以在以下选项中进行选择:

    • 修复缺失的依赖项 :通过调用 go mod tidy/vendor 来获取和下载缺失的依赖并删除未使用的依赖。 在 replace 指令中,IDE 不会下载或删除缺失的依赖项,并且包含这些未使用依赖项的行将标记为红色。 这不是错误,并且不会影响应用程序的运行。

    • 将所有模块下载到模块缓存 :获取并下载所有依赖项,并将它们放置在 外部库 工具窗口的 项目 中(视图(V) | 工具窗口 | 项目)。

    • 下载 <module_name> 到模块缓存 :获取并下载所选模块,并将其放置在 外部库项目 工具窗口中(视图(V) | 工具窗口 | 项目)。

    将所有模块下载到模块缓存

从已打开的 Go 文件同步依赖项

  1. 确保启用 Go modules 集成。 有关启用 Go 模块集成的更多信息,请参阅 在项目中启用新项目

  2. 点击 import 部分中的依赖项,按 Alt+Enter 并选择 修复缺失的依赖项

    获取依赖项

为"go.mod"配置自动运行"go list"

  1. 通过按下 Ctrl+Alt+S 打开设置,并导航到 生成、执行、部署 | 构建工具

  2. 选择或取消选中 在构建脚本更改后同步项目 选项。

  3. 根据您的工作流程,您可以设置以下选项:

    • 任何更改 :在任何修改 go.mod 之后运行 go list。 默认情况下,IntelliJ IDEA 在每次修改 go list 后会自动运行 go.mod 命令。

    • 外部更改 :当您在 IDE 中编辑文件时,不要自动运行 go list。 在 IDE 中编辑完文件后,点击 加载 Go modules 变更 图标(加载 Go 模块更改图标 )来应用并加载您的更改。

      加载 Go modules 变更图标
    • 如果您不想在每次修改 go list 后运行 go.mod ,请取消选中 在构建脚本更改后同步项目 复选框。

      如果该复选框被取消选中,您将在所有类型的更改中看到 加载 Go modules 变更 图标:外部和内部。

创建依赖关系图

go.mod 文件列出了您项目的依赖项。 您可以使用此文件构建依赖关系图。

  1. 在您的项目中启用 New project。

  2. 右键点击项目中的 go.mod 文件并选择 图表 | 显示图表

切换 vendoring 模式

  1. 通过按下 Ctrl+Alt+S 打开设置,并导航到 语言与框架 | Go Go 模块

  2. 清除或选择 自动启用供应支持 复选框,然后点击 OK

  1. 项目 工具窗口(视图(V) | 工具窗口(T) | 项目 )中,双击 go.mod 文件。

  2. 右键点击依赖项导入路径,然后点击 转到 | 声明或用例(D) Ctrl+B

    从依赖导入路径导航到包源文件

更新 go.mod 中的依赖项

当您访问您的 go.mod 文件时,IntelliJ IDEA 会高亮显示任何过时的依赖项。 将鼠标悬停在突出显示的版本上,您可以使用快速修复来更新特定的依赖项。

还可以选择将所有依赖项更新为最新的补丁或最新的主要版本。 如果您愿意,也可以只更新直接依赖项。

同时,有两个检查用于过时和撤销的依赖版本:

  • 已弃用的依赖项 :用删除线文本表示,这突出显示了已弃用的依赖项。

  • 已撤回的依赖项版本 :也会显示删除线文本,这表示撤回的版本号。

更新依赖项

  • 点击依赖项并按 Alt+Enter

    请选择您要应用的意图操作:

    • 将 <dependency> 版本更改为 <new_version> :将所选版本更新到包含已识别漏洞修复的最近版本。 请注意,最近的修正版本不一定是最新的版本。

    • 将所有依赖项更新到最新补丁版本 :更新所有漏洞版本到最新的补丁版本,其中仅包含错误修复和向后兼容的更改。 例如,如果当前版本是 1.2.3,并且有 1.2.4 和 1.2.5 版本可用,那么最新的补丁版本是 1.2.5。

    • 将所有依赖项更新到最新版本 :将所有存在漏洞的版本更新到最新可用版本。

    • 更新直接依赖项到最新补丁版本 :更新所有直接依赖的漏洞版本至其最新的补丁版本。 直接依赖项是出现在项目源文件的 import 部分的模块。

    • 更新直接依赖项到最新版本 :更新所有直接依赖到其最新可用版本。

显示依赖项的漏洞信息

  1. 点击依赖项并按 Alt+Enter

  2. 选择 显示 <dependency> 的漏洞信息

定制检查设置

  • 您可以通过打开设置(Ctrl+Alt+S )并导航到 编辑器|检查|Go modules 来管理这些检查的设置,包括它们的范围和严重性。

环境变量

环境变量提供了一种设置应用程序执行参数的方法。 环境变量可以存储您想要用于下载依赖项的代理服务器地址(GOPROXY)、被视为私有的包名称(GOPRIVATE)以及其他值。 在 IntelliJ IDEA 中,您可以使用以下环境变量模板:

  • GOPROXY :定义用于下载依赖项的代理服务器。 当您触发 go 命令时,会使用这些代理服务器。 阅读更多关于 GOPROXY 的信息,请参阅 golang.org / Module downloading and verification

  • GOSUMDB :标识校验和数据库的名称。 校验和数据库验证您来自 go.sum 文件的包是否可信。 详细了解 GOSUMDB,请参阅 golang.org 上的模块认证失败

  • GOPRIVATE :列出被认为是私有的包。 在下载和验证这些包时,go 命令不会使用 GOPRIVATE 或校验和数据库。 有关 GOPRIVATE 的更多信息,请参阅 golang.org 上的非公共模块模块配置

  • GONOPROXY :列出被认为是私有的包。 下载这些包时,go 命令不会使用代理。 GONOPROXY 会覆盖 GOPRIVATE。

  • GONOSUMDB :列出被认为是私有的包。 go 命令在验证这些包时不使用校验和数据库。 重写 GOPRIVATE。

  • 其他 :您想要引入的任何环境变量。 例如,您可以引入 GOMODCACHE 环境变量,将 Go modules 缓存的默认位置从 $GOPATH/pkg/mod 更改为用户定义的位置(例如, $WORK/modcache)。

此外,IntelliJ IDEA 会自动获取与 Go 模块相关的系统变量,并在 环境变量(E) 对话框 系统环境变量 中显示。

在项目中引入环境变量

  1. Ctrl+Alt+S 打开设置,然后选择 语言与框架 | Go Go 模块

  2. 在字段 环境(V) 中,点击字段末尾的 浏览 图标。

  3. 环境变量(E) 窗口中,点击 添加 按钮("添加"按钮 )并选择您想添加的模板。

    在新项目中引入环境变量

安装 Go SDK

选择 Go SDK 的本地副本

  1. Ctrl+Alt+S 打开设置,然后选择 语言与框架 | Go GOROOT

  2. 请点击 添加 SDK 按钮(添加 SDK 按钮 )并选择 本地…

  3. 在文件浏览器中,导航到硬盘上的 SDK 版本。

  4. 点击 打开

    安装 Go SDK

下载 Go SDK

  1. Ctrl+Alt+S 打开设置,然后选择 语言与框架 | Go GOROOT

  2. 请点击 添加SDK({0}) 按钮(添加 SDK 按钮 )并选择 下载…

  3. 版本 列表中选择 SDK 版本。

  4. 位置 字段中,指定 SDK 的路径。 要使用文件浏览器,请点击 浏览… 图标 (“浏览”图标)。

  5. 点击 确定

    安装 Go SDK

效率提示

通知 go.mod 文件中本地路径的替换

在您提交更改之前,IntelliJ IDEA 可以向您显示一条通知,告知您已替换 go.mod 文件中的本地路径。 这可能会帮助您避免这些替换项因错误而提交的情况。

  1. Ctrl+K 或从主菜单中选择 Git | 提交(I)

  2. 提交 工具窗口 Alt+0 中,点击 显示提交选项 图标(显示提交选项图标 ),然后选择 分析代码(A) 复选框。 有关提交选项的更多信息,请参阅 提交更改并将其推送到 Git 仓库

最后修改日期: 2025年 4月 24日