Go
默认情况下,GoLand 会建议创建一个 Go 模块项目。 使用 Go modules,您无需将项目文件保存在 GOPATH 下,且 可以轻松管理项目中的依赖项。 请访问 go.dev 了解有关 Go modules 的更多信息。
创建 Go 项目
选择 。
或者,导航至 新建|项目 ,位于 欢迎访问GoLand 对话框中。
在 新建项目 对话框中,从可用项目类型列表中选择 Go。
在 GOROOT 字段中,指定 Go 安装的路径。 GoLand 通常会自动检测该路径。
要更改或安装新的 Go SDK 版本,请单击 添加 SDK (
),然后选择以下其中一个选项:
本地 :使用本地系统中已有的 SDK。
下载 :从官方仓库下载 Go SDK 版本。
(可选)选中或清除 自动启用供应支持 复选框,以启用或禁用 vendoring 支持。
(可选)在 环境 字段中,指定项目所需的任何环境变量。 例如,
GOPROXY。如需了解详情,请参阅 环境变量部分。
单击 创建 创建项目。

在项目中使用 Go modules
在 项目 工具窗口( )中,Go modules 会以完整导入路径显示。 每个 Go Module 的版本以淡化颜色显示,便于区分。

在项目中启用 Go modules
按下 Ctrl+Alt+S 打开设置,然后选择 。
选中 启用Go 模块集成 复选框。
单击 确定(O)。

处理依赖项
默认情况下,GoLand 会在打开项目或修改 go.mod 时下载所有所需依赖项。 您可以在设置中配置此行为。
禁用 Go module 依赖项的自动下载
按下 Ctrl+Alt+S 打开设置,然后导航至 。
单击 下载 Go module 依赖项 下拉列表并选择所需选项。 您可以从以下选项中进行选择:
对所有项目启用 :启用对所有项目的 Go 模块依赖项的自动下载。 这是默认设置。 IDE 会在每次执行
go list -m后运行go mod download。 如果您的网络连接有限或更倾向于手动下载依赖项,请禁用此选项。对所有项目禁用 :禁用对所有项目的 Go 模块依赖项的自动下载。
对当前项目启用,对其他项目禁用 :仅为当前项目启用依赖项的自动下载。 新建项目将默认使用 对所有项目禁用。
对当前项目禁用,对其他项目启用 :仅为当前项目禁用依赖项的自动下载。 新建项目将默认使用 对所有项目启用。

从 go.mod 同步依赖项
请确保启用了 Go 模块集成。 如需了解详细信息,请参阅 在项目中启用 Go。
在 项目 工具窗口( )中,双击 MOD 文件。
单击某个依赖项声明。
按下 Alt+Enter 并选择要执行的操作。 可用选项:
修复缺失的依赖项 :通过调用
go mod tidy或go mod vendor获取并下载丢失的依赖项,并移除未使用的依赖项。replace指令中列出的依赖项不会被获取或移除。replace指令中的未使用依赖项将标记为红色。 这不是错误,不会影响应用程序行为。将所有模块下载到模块缓存 :获取并下载所有缺失的依赖项,并在 项目 工具窗口( )的 外部库 下显示它们。
将 <module_name> 下载到模块缓存中 :获取并下载所选模块。 该模块将显示在 项目 工具窗口( )的 外部库 下。

从已打开的 Go 文件同步依赖项
请确保启用了 Go 模块集成。 如需了解详细信息,请参阅 在项目中启用 Go。
在
import部分中单击一个依赖项,按下 Alt+Enter ,然后选择 修复缺失的依赖项。
配置对 'go.mod' 自动运行 'go list'
按下 Ctrl+Alt+S 打开设置并导航到 。
选择或取消选择 在构建脚本更改后同步项目 选项。
根据您的工作流程,选择以下选项之一:
任何更改 :在 go.mod 每次修改之后运行
go list。 默认情况下,GoLand 会选择此选项,在 go.mod 发生变化时自动运行go list。外部更改 :在 IDE 中编辑文件时,禁用
go list的自动执行。 更改完成后,请单击图标 加载 Go modules 更改 ()以手动应用并加载更新。

如果您不希望在 go.mod 修改后运行
go list,请取消选中 在构建脚本更改后同步项目 复选框。禁用该选项后,所有更改(无论是内部还是外部)都会显示 加载 Go modules 更改 图标。
创建依赖项图示
go.mod 文件列出了项目中使用的依赖项。 您可以使用它生成这些依赖项的可视化图表。
请确保在项目中启用了 Go。
右键单击 go.mod 文件并选择 。

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

在 go.mod 中更新依赖项
打开 go.mod 文件时,GoLand 会高亮显示已过时的依赖项。 您可以单击嵌入提示来应用快速修复并更新该依赖项。
您还可以一次更新所有依赖项——可以是最新补丁版本,也可以是最新可用版本。 如有需要,您可以将更新限制为直接依赖项。
GoLand 还包含对已弃用及已撤回版本的代码检查:
已弃用的依赖项 :使用删除线标记。 表示该依赖项已被弃用。
已撤回的依赖项版本 :同样使用删除线标记。 表示该版本已被撤回。

更新依赖项
点击依赖项并按 Alt+Enter。
选择相应的意图操作:
将 <dependency> 版本更改为 <new_version> :将所选版本更新为包含已知漏洞修复的最近版本。 该版本不一定是最新版本。
将所有依赖项更新为最新的补丁版本 :将所有存在漏洞的版本更新为最新补丁版本,其中包含错误修复和向下兼容的更改。
将所有依赖项更新为最新版本 :将所有存在漏洞的版本更新为最新可用版本。
将直接依赖项更新为最新的补丁版本 :将所有直接依赖项更新为其最新补丁版本。 直接依赖项是指在源代码文件中的
import语句中出现的模块。将直接依赖项更新为最新版本 :将所有直接依赖项更新为其最新版本。
显示有关依赖项的漏洞信息
点击依赖项并按 Alt+Enter。
选择 显示 <dependency> 的漏洞信息。
自定义检查设置
要调整这些检查的范围或严重性,请打开设置(Ctrl+Alt+S )并导航到 。
环境变量
环境变量提供了一种配置应用程序执行参数的方法。 它们可用于存储用于下载依赖项的代理服务器地址(GOPROXY )、定义私有包(GOPRIVATE )以及设置其他相关值。 在 GoLand 中,您可以使用以下环境变量模板:
GOPROXY :指定在运行
go命令时用于下载依赖项的代理服务器。GOSUMDB :指定用于验证
go.sum文件中列出的包可信性的校验和数据库。GOPRIVATE :列出被视为私有的模块。
go命令会跳过这些模块的代理和校验和验证。GONOPROXY :列出不应使用代理服务器的私有模块。 该变量会覆盖代理设置中的
GOPRIVATE。GONOSUMDB :列出跳过校验和验证的私有模块。 该变量会覆盖校验和设置中的
GOPRIVATE。其他 :使用此选项定义自定义变量。 例如,
GOMODCACHE可用于将默认模块缓存位置从 $GOPATH/pkg/mod 更改为自定义路径,如$WORK/modcache。
GoLand 还会自动检测与 Go 模块相关的系统环境变量,并将其显示在 环境变量(E) 对话框的 系统环境变量 部分中。
在项目中引入环境变量
按 Ctrl+Alt+S 打开设置,然后选择 。
在 环境(V) 字段中,点击字段末尾的 浏览 图标。
在 环境变量(E) 窗口中,点击 添加 按钮(
),然后选择要添加的模板。

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

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