IntelliJ IDEA 2023.2 帮助

去

默认情况下,IntelliJ IDEA 建议创建一个 Go 模块项目。使用 Go 模块,您无需将项目文件保存在 GOPATH 下,并且可以轻松管理项目中的依赖项。请访问go.dev了解有关 Go 模块的更多信息。

创建一个集成 Go 模块的项目

  1. 选择文件 | 新 | 新项目。

    或者,单击“欢迎使用 IntelliJ IDEA”对话框中的“新建项目”。

  2. 在“新建项目”对话框中,从可用项目列表中选择“新建项目” 。

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

  3. 在GOROOT字段中,指定 Go 安装的位置。通常,位置是自动定义的。

    要更改或安装新版本的 Go SDK,请单击“添加 SDK…”按钮并选择“本地…”以选择硬盘上的 Go SDK 版本,或选择“下载…”从官方存储库下载 Go SDK。

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

  5. (可选)在“环境”字段中,指定项目所需的环境变量。例如,GOPROXY环境变量。在环境变量部分阅读有关环境变量的更多信息。

  6. 单击创建。

    下载Go SDK

更改 Go 项目的 IML 文件位置

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

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

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

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

  2. 将.idea/fileurl添加到filepathIML 文件位置的属性。

  3. 将 IML 文件移动到.idea目录。

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

在项目中使用 Go 模块

在“项目”工具窗口(“视图”|“工具窗口”|“项目”)中,显示 Go 模块及其完整导入路径。每个 Go 模块的版本以暗色字体显示,以帮助您区分它们。

Go 模块以变暗的字体颜色显示

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

在项目中启用 Go 模块

  1. 按Control+Alt+S打开 IDE 设置,然后选择语言和框架 | 去 | 转到模块。

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

  3. 单击“确定”。

    在项目中启用新项目

使用依赖项

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

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

  1. 按打开设置Control+Alt+S并导航至“Go |” 转到模块。

  2. 单击“下载 Go 模块依赖项”下拉列表并选择必要的选项。您可以选择以下选项:

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

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

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

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

从 go.mod 同步依赖项

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

  2. 在“项目”工具窗口(“视图”|“工具窗口”|“项目”)中,双击 MOD 文件。

  3. 单击依赖项声明。

  4. 按Alt+Enter并选择您要执行的操作。您可以选择以下选项:

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

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

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

    下载所有模块到模块缓存

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

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

  2. 单击该部分中的依赖项import,然后按Alt+Enter并选择同步依赖项。

    获取依赖项

为“go.mod”配置“go list”的自动运行

  1. 按打开设置Control+Alt+S并导航到“构建、执行、部署”| 构建工具

  2. 选择或清除“构建脚本更改后重新加载项目”选项。

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

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

    • 外部更改go list:当您在 IDE 中编辑文件时不会自动运行。在 IDE 中完成文件编辑后,单击“加载 Go 模块更改”图标 ( 加载 Go 模块更改图标) 以应用并加载您的更改。

      加载 Go 模块更改图标
    • 如果您不想go list在每次修改go.mod后运行,请清除“构建脚本更改后重新加载项目”复选框。

      如果清除该复选框,您将在所有类型的更改上看到“加载 Go 模块更改”图标:外部和内部。

创建依赖关系图

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

  1. 在您的项目中启用新项目。

  2. 右键单击项目中的go.mod文件,然后选择图表 | 显示图表。

切换销售模式

  1. 按打开设置并Control+Alt+S导航至语言和框架 | 去 | 转到模块。

  2. 清除或选择“自动启用供应商支持”复选框,然后单击“确定”。

    Go 1.13及更早版本中的自动供应模式
  1. 在“项目”工具窗口(“视图”|“工具窗口”|“项目”)中,双击该go.mod文件。

  2. 右键单击依赖项导入路径,然后单击转到| 声明或用法 Control+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> 的漏洞信息。

自定义检查设置

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

环境变量

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

  • GOPROXY:定义必须用于下载依赖项的代理服务器。当您触发 go 命令时,将使用这些代理服务器。在 golang.org 的模块下载和验证中了解有关 GOPROXY 的更多信息。

  • GOSUMDB:标识校验和数据库的名称。校验和数据库验证文件中的包go.sum是否可信。在golang.org 的模块身份验证失败中了解有关 GOSUMDB 的更多信息。

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

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

  • GONOSUMDB:列出被视为私有的包。go 命令在验证这些包期间不使用校验和数据库。覆盖 GOPRIVATE。

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

此外,IntelliJ IDEA 会自动选取与 Go 模块相关的系统变量,并将它们显示在系统环境变量的环境变量对话框中。

在项目中引入环境变量

  1. 按Control+Alt+S打开 IDE 设置,然后选择语言和框架 | 去 | 转到模块。

  2. 在环境字段中,单击字段末尾的浏览图标。

  3. 在环境变量窗口中,单击添加按钮 ( 添加按钮) 并选择要添加的模板。

    在新项目中引入环境变量

安装Go SDK

选择 Go SDK 的本地副本

  1. 按Control+Alt+S打开 IDE 设置,然后选择语言和框架 | 去 | 戈鲁特。

  2. 单击“添加 SDK”按钮 ( 添加 SDK 按钮) 并选择“本地...”。

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

  4. 单击“打开”。

    安装Go SDK

下载Go SDK

  1. 按Control+Alt+S打开 IDE 设置,然后选择语言和框架 | 去 | 戈鲁特。

  2. 单击“添加 SDK”按钮 ( 添加 SDK 按钮) 并选择“下载...”。

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

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

  5. 单击“确定”。

    安装Go SDK

生产力技巧

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

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

  1. 按Command K或选择Git | 从主菜单提交。

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

最后修改时间:2023 年 9 月 5 日