Go
默认情况下,IntelliJ IDEA 会建议创建一个 Go modules 项目。 使用 Go modules,您不需要将项目文件保存在 GOPATH 下, 可以轻松管理项目中的依赖项。 详细了解 Go 模块,请访问 go.dev。
创建 Go 项目
选择 。
或者,点击 New Project 在 欢迎访问IntelliJ IDEA 对话框中。
在 新建项目 对话框中,从可用项目类型列表中选择 新建项目。
确保在 语言 列表中选择 Go 作为项目语言。
在 GOROOT 字段中,指定您的 Go 安装位置。 IntelliJ IDEA 通常会自动检测到此位置。
要更改或安装新的 Go SDK 版本,请点击 添加 SDK (
),然后选择以下选项之一:
本地 :使用本地系统中的现有 SDK。
下载 :从官方存储库下载一个 Go SDK 版本。
(可选)选中或清除 自动启用供应支持 复选框。
(可选)在 环境 字段中,指定您的项目所需的任何环境变量。 例如,
GOPROXY。要了解更多信息,请参阅 环境变量部分。
点击 创建 创建项目。

为 Go 项目更改 IML 文件位置
在 IntelliJ IDEA 中创建 Go 项目时,您可以为 .iml 文件指定一个目录。 默认位置是项目的根目录。
如果您想更改 IntelliJ IDEA 中现有 Go 项目的 IML 文件位置,您需要修改 modules.xml 文件在 .idea 目录中。
更改现有 Go 项目的 IML 文件位置
在 项目 工具窗口中,导航到项目的 .idea 文件夹。
将 .idea/ 添加到 IML 文件位置的
fileurl和filepath属性。请将 IML 文件移至 .idea 目录。

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

如果您在 IDE 中创建一个新的 Go modules 项目,则 Go modules 已经启用。 如果您从 Github 拉取了 Go 模块项目,则需要手动启用 Go modules。
在项目中启用 Go modules
按 Ctrl+Alt+S 打开设置,然后选择 。
请选择 启用Go 模块集成 复选框。
点击 确定(O)。

处理依赖关系
默认情况下,IntelliJ IDEA 会在您打开项目或修改 go.mod 时下载所有必要的依赖项。 您可以在设置中配置此行为。
禁用 Go 模块依赖项的自动下载
通过按下 Ctrl+Alt+S 打开设置,并导航到 。 .
点击 下载 Go 模块依赖项 下拉列表并选择所需选项。 您可以在以下选项中进行选择:
为所有项目启用 :激活您打开的所有项目的 Go 依赖项的自动下载。 这是默认设置。 IDE 在每次执行 'go list -m' 后都会自动运行 'go mod download'。 如果您的网络连接有限或只需要下载某些 Go 模块的依赖项,请禁用此选项。
为所有项目禁用 :关闭所有打开的项目的 Go 依赖项的自动下载功能。
为当前项目启用,为其他项目禁用 :仅为当前项目激活 Go 依赖项的自动下载。 当在 IDE 中打开一个新项目时, 下载 Go 模块依赖项 设置将默认为 为所有项目禁用。
为当前项目禁用,为其他项目启用 :仅针对当前项目关闭 Go 依赖项的自动下载。 当在 IDE 中打开一个新项目时, 下载 Go 模块依赖项 设置将默认为 为所有项目启用。
从 go.mod 同步依赖
确保启用 Go modules 集成。 有关启用 Go 模块集成的更多信息,请参阅 在项目中启用新项目。
在 项目 工具窗口 ( ),双击 MOD 文件。
点击依赖声明。
按 Alt+Enter 并选择您想执行的操作。 您可以在以下选项中进行选择:
修复缺失的依赖项 :通过调用
go mod tidy/vendor来获取和下载缺失的依赖并删除未使用的依赖。 在replace指令中,IDE 不会下载或删除缺失的依赖项,并且包含这些未使用依赖项的行将标记为红色。 这不是错误,并且不会影响应用程序的运行。将所有模块下载到模块缓存 :获取并下载所有依赖项,并将它们放置在 外部库 工具窗口的 项目 中()。
下载 <module_name> 到模块缓存 :获取并下载所选模块,并将其放置在 外部库 的 项目 工具窗口中()。

从已打开的 Go 文件同步依赖项
确保启用 Go modules 集成。 有关启用 Go 模块集成的更多信息,请参阅 在项目中启用新项目。
点击
import部分中的依赖项,按 Alt+Enter 并选择 修复缺失的依赖项。
为"go.mod"配置自动运行"go list"
通过按下 Ctrl+Alt+S 打开设置,并导航到 。
选择或取消选中 在构建脚本更改后同步项目 选项。
根据您的工作流程,您可以设置以下选项:
任何更改 :在任何修改 go.mod 之后运行
go list。 默认情况下,IntelliJ IDEA 在每次修改go list后会自动运行 go.mod 命令。外部更改 :当您在 IDE 中编辑文件时,不要自动运行
go list。 在 IDE 中编辑完文件后,点击 加载 Go modules 变更 图标()来应用并加载您的更改。

如果您不想在每次修改
go list后运行 go.mod ,请取消选中 在构建脚本更改后同步项目 复选框。如果该复选框被取消选中,您将在所有类型的更改中看到 加载 Go modules 变更 图标:外部和内部。
创建依赖关系图
go.mod 文件列出了您项目的依赖项。 您可以使用此文件构建依赖关系图。
在您的项目中启用 New project。
右键点击项目中的 go.mod 文件并选择 。
切换 vendoring 模式
通过按下 Ctrl+Alt+S 打开设置,并导航到 。
清除或选择 自动启用供应支持 复选框,然后点击 OK。
从依赖导入路径导航到包源文件
在 项目 工具窗口( )中,双击
go.mod文件。右键点击依赖项导入路径,然后点击 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部分的模块。更新直接依赖项到最新版本 :更新所有直接依赖到其最新可用版本。
显示依赖项的漏洞信息
点击依赖项并按 Alt+Enter。
选择 显示 <dependency> 的漏洞信息。
定制检查设置
您可以通过打开设置(Ctrl+Alt+S )并导航到 来管理这些检查的设置,包括它们的范围和严重性。
环境变量
环境变量提供了一种设置应用程序执行参数的方法。 环境变量可以存储您想要用于下载依赖项的代理服务器地址(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) 对话框 系统环境变量 中显示。
在项目中引入环境变量
按 Ctrl+Alt+S 打开设置,然后选择 。
在字段 环境(V) 中,点击字段末尾的 浏览 图标。
在 环境变量(E) 窗口中,点击 添加 按钮(
)并选择您想添加的模板。

安装 Go SDK
选择 Go SDK 的本地副本
按 Ctrl+Alt+S 打开设置,然后选择 。
请点击 添加 SDK 按钮(
)并选择 本地…。
在文件浏览器中,导航到硬盘上的 SDK 版本。
点击 打开。

下载 Go SDK
按 Ctrl+Alt+S 打开设置,然后选择 。
请点击 添加SDK({0}) 按钮(
)并选择 下载…。
从 版本 列表中选择 SDK 版本。
在 位置 字段中,指定 SDK 的路径。 要使用文件浏览器,请点击 浏览… 图标 (
)。
点击 确定。

效率提示
通知 go.mod 文件中本地路径的替换
在您提交更改之前,IntelliJ IDEA 可以向您显示一条通知,告知您已替换 go.mod 文件中的本地路径。 这可能会帮助您避免这些替换项因错误而提交的情况。
按 Ctrl+K 或从主菜单中选择 。
在 提交 工具窗口 Alt+0 中,点击 显示提交选项 图标(
),然后选择 分析代码(A) 复选框。 有关提交选项的更多信息,请参阅 提交更改并将其推送到 Git 仓库。