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

为 Go 项目更改 IML 文件位置
在 IntelliJ IDEA 中创建 Go 项目时,您可以为 .iml 文件指定一个目录。 默认情况下,该文件将创建在项目的根目录中。
若要在 IntelliJ IDEA 中更改现有 Go 项目的 IML 文件位置,您需要更新 modules.xml 文件(位于 .idea 目录中)。
更改现有 Go 项目的 IML 文件位置
在 项目 工具窗口中,打开项目的 .idea 文件夹。
在 modules.xml 文件中更新
fileurl和filepath属性,使二者均指向 .idea/ 内新的 IML 文件位置。将 IML 文件移动到 .idea 目录中。

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

在项目中启用 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.mod 同步依赖
确保启用 Go modules 集成。 有关更多信息,请参阅 在项目中启用 New project。
在 项目 工具窗口 ( ),双击 MOD 文件。
点击依赖声明。
按 Alt+Enter 并选择您要执行的操作。 可用选项:
修复缺失的依赖项 :通过调用
go mod tidy或go mod vendor获取并下载缺失的依赖项并移除未使用的依赖项。 列在replace指令中的依赖项不会被获取或移除。 列在replace指令中的未使用依赖项会以红色标记。 这不是错误,不会影响应用程序行为。将所有模块下载到模块缓存 :获取并下载所有缺失的依赖项,并在 项目 工具窗口( )中的 外部库 下显示它们。
下载 <module_name> 到模块缓存 :获取并下载所选模块。 它会显示在 项目 工具窗口( )中的 外部库 下。

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

如果您不希望在每次修改 go.mod 后运行
go list,请清除 在构建脚本更改后同步项目 复选框。禁用此选项后,您将看到所有更改(包括内部和外部)的 加载 Go modules 变更 图标。
创建依赖关系图
go.mod 文件列出了项目中使用的依赖项。 您可以使用它生成这些依赖项的可视化图表。
请确保在您的项目中已启用新项目。
右键点击 go.mod 文件并选择 。

从依赖导入路径导航到包源文件
在 项目 工具窗口( )中,双击 go.mod 文件以在编辑器中打开。
右键点击依赖项导入路径并选择 Ctrl+B。

更新 go.mod 中的依赖项
当您打开 go.mod 文件时,IntelliJ IDEA 会高亮显示过时的依赖项。 您可以点击内嵌提示以应用快速修复并更新依赖项。
您还可以一次性更新所有依赖项——更新到最新的补丁版本或最新的可用版本。 如果需要,您可以将更新限制为仅直接依赖项。
IntelliJ IDEA 还包括对已弃用和已撤回版本的检查:
已弃用的依赖项 :用删除线标记。 表示该依赖项已被弃用。
已撤回的依赖项版本 :也用删除线标记。 表示该版本已被撤回。
更新依赖项
点击依赖项并按 Alt+Enter。
选择适当的意图操作:
将 <dependency> 版本更改为 <new_version> :将选定版本更新到包含已知漏洞修复的最近版本。 这不一定是最新版本。
将所有依赖项更新到最新补丁版本 :将所有存在漏洞的版本更新到包含错误修复和向后兼容更改的最新补丁版本。
将所有依赖项更新到最新版本 :将所有存在漏洞的版本更新到最新的可用版本。
更新直接依赖项到最新补丁版本 :将所有直接依赖项更新到其最新的补丁版本。 直接依赖项是指出现在源文件中的
import语句中的模块。更新直接依赖项到最新版本 :将所有直接依赖项更新到其最新版本。
显示依赖项的漏洞信息
点击依赖项并按 Alt+Enter。
选择 显示 <dependency> 的漏洞信息。
自定义检查设置
要调整这些检查的范围或严重性,请打开设置(Ctrl+Alt+S )并导航到 。
环境变量
环境变量提供了一种配置应用程序执行参数的方法。 它们可用于存储用于下载依赖项的代理服务器地址(GOPROXY )、定义私有包(GOPRIVATE )以及设置其他相关值。 在 IntelliJ IDEA 中,您可以使用以下环境变量模板:
GOPROXY :指定运行
go命令时用于下载依赖项的代理服务器。GOSUMDB :指定用于验证
go.sum文件中列出的包是否可信的校验和数据库。GOPRIVATE :列出被视为私有的模块。
go命令会跳过这些模块的代理和校验和验证。GONOPROXY :列出不应使用代理服务器的私有模块。 此变量会覆盖
GOPRIVATE的代理设置。GONOSUMDB :列出跳过校验和验证的私有模块。 此变量会覆盖
GOPRIVATE的校验和设置。其他 :使用此选项定义自定义变量。 例如,
GOMODCACHE可用于将默认模块缓存位置从 $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 按钮(
)并选择 下载…。
从 版本 列表中选择 SDK 版本。
在 位置 字段中,指定 SDK 的路径。 要使用文件浏览器,请点击 浏览… 图标 (
)。
点击 确定。
