Terraform
Terraform 是一款开源工具,使开发者与运维团队能够通过编写代码而非通过云服务商的用户界面手动配置,从而定义、管理和部署云资源与基础设施组件。
借助该工具,您可以以声明式和自动化的方式管理基础设施资源,例如虚拟机、网络和存储。 使用模板代码代替手动配置,可确保基础设施配置的一致性与可重现性。
安装 Terraform 和 HCL 插件
此功能依赖于 Terraform 和 HCL插件,您需要安装并启用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 Marketplace 选项卡,找到 Terraform 和 HCL 插件,然后点击 安装 (如提示请重启 IDE)。
GoLand 通过为核心 Terraform 元素和 provider 定义的概念提供智能代码提示,帮助您更高效地编写基础设施代码,从而减少干扰。 功能包括:
您可以在 设置 对话框(Ctrl+Alt+S )中, 和 页面自定义颜色设置。
您可以在 设置 对话框(Ctrl+Alt+S )的 页面访问与 Terraform 相关的代码样式设置。
使用本地运行的深度学习模型补全整行代码。

您可以在 设置 对话框(Ctrl+Alt+S )的 页面禁用 Terraform 的全行代码补全功能。
在 项目 工具窗口中,右键点击某一目录并选择 新建 (或按下 Alt+Insert ),然后选择 Terraform 文件。 这将打开一个对话框,允许您从可用的 Terraform 文件模板中进行选择。

如需修改 Terraform 文件模板,请打开 设置 对话框(Ctrl+Alt+S ),然后转到 。
您可以检测重复、冲突、已弃用或缺失的元素、未解析的引用、未知资源等问题。

您可以在 设置 对话框(Ctrl+Alt+S )下的 查看所有 Terraform 检查项。
包括对已知 provider、provider 函数、资源、数据源和参数的补全。

IDE 在配置 provider 要求时也会提供帮助。 在
required_providers块中,IDE 会建议可用的 provider 及其相关属性,例如source和version,帮助您根据 Terraform 规范定义要求。 有关 provider 要求的更多信息,请参阅 Terraform 文档。对于资源、变量、本地变量和数据源,GoLand 会通过内嵌提示显示它们的使用次数。 点击内嵌提示(或按下 Ctrl+B )可查看其所有用法并进行导航。

您可以在 设置 对话框(Ctrl+Alt+S )下的 中禁用、启用或更改用法内嵌提示的位置。
重构
要重命名元素及其所有用法,请按 Shift+F6。
文件监听器 ,可在每次保存文件时运行 Terraform 命令(例如
terraform fmt)。 要启用此功能,请安装 File Watchers 插件。结构视图
使用 结构 工具窗口可快速预览并导航 Terraform 文件。

该工具窗口可通过 打开,或按下 Alt+7 打开。
将鼠标悬停在参数上可查看其快速文档。

如需了解更多信息,您还可以按下 Shift+F1 打开 Terraform Registry(该文档的来源)。
代码辅助功能还包括大括号匹配 Ctrl+Shift+M 、代码折叠 Ctrl+NumPad +/Ctrl+NumPad - 、添加行注释 Ctrl+/ 和块注释 Ctrl+Shift+/。
指定 Terraform 可执行文件路径
要通过运行配置在 IDE 中运行 Terraform 命令,您的计算机上必须已安装 Terraform。
在大多数情况下,GoLand 会自动检测 Terraform 安装路径。 如果未检测到,或路径检测有误,您可以手动指定。
按下 Ctrl+Alt+S 打开设置,然后选择 。
在 Terraform 可执行文件路径 字段中指定 Terraform 的路径。
运行 Terraform
Terraform 与 HCL 插件提供用于 Terraform 的专用运行配置。 这些运行配置允许您自定义 terraform 命令的执行,例如添加参数或传递环境变量。
使用边距图标运行 Terraform
在 Terraform 文件中,点击边栏中的
。
在打开的窗口中,选择 计划 以创建执行计划,或选择 应用 来应用现有的 Terraform 计划。

如果尚未对该目录执行 Terraform 初始化步骤,边栏图标 运行 中会显示警告标志。 在此情况下,GoLand 会建议您在运行 terraform plan 或 terraform apply 前先执行 terraform init 命令。
通过边栏图标运行 Terraform 会创建一个临时运行配置。 您可以点击运行组件中的 按钮并选择 保存配置 ,将其保存为永久配置。
手动创建 Terraform 运行配置
转到 。 或者,按下 Alt+Shift+F10 ,然后按 0。
点击 添加新配置 按钮(
),然后开始键入 Terraform。

选择运行配置类型:
Terraform 初始化 以运行
terraform init命令Terraform 验证 以运行
terraform validate命令Terraform 计划 以运行
terraform plan命令Terraform 应用 以运行
terraform apply命令Terraform 销毁 以运行
terraform destroy命令Terraform ,可让您提供任意其他 Terraform 命令
在 命令 列表中选择一个 Terraform 命令。 如要运行列表中未包含的命令,请选择 自定义 ,并在 程序参数 字段中指定该命令。
为运行配置命名,并在必要时更改工作目录。 如使用环境变量,请在 环境变量 字段中指定,或选择一个文件以从中引用变量。
重新格式化 Terraform 代码
在 GoLand 中,您可以将代码样式应用于 Terraform 文件。 GoLand 包含两个格式化工具:
使用 Terraform 格式化器
Terraform 格式化工具 (terraform fmt) 基于 Terraform 代码样式。 适用于 .tf 和 .tfvars 文件。
使用 Terraform 格式化工具前,需先 安装 Terraform。
在主菜单中,转到 。
或者按下 Ctrl+Alt+Shift+F。
虽然 Terraform 格式化工具 terraform fmt 适用于整个文件, GoLand 格式化工具 也可用于选中的代码块。
使用 GoLand 格式化器
GoLand 格式化工具基于 Terraform 与 HCL 插件提供的 GoLand 代码样式。 您可以在 IDE 设置中对该代码样式进行自定义,位置为 。
除了 .tf 和 .tfvars 外,也适用于 .hcl 文件。
要重新格式化文件,请在编辑器中打开文件,在主菜单中转到 。 或者按下 Ctrl+Alt+Shift+L。
要重新格式化部分代码,请选择一段代码,在主菜单中转到 。 或者按下 Ctrl+Alt+L。
Terraform 模板文件
GoLand 支持通常使用 .tftpl 扩展名的 Terraform 模板文件。 对模板文件的支持包括代码辅助(语法高亮、检查等)、跳转到模板文件及实时模板。
如需使用实时模板,请在 Terraform 模板文件中键入 if 或 for。

导航到模板文件
在 Terraform 文件中,您可以使用 templatefile 函数注入模板。 使用 GoLand,您可以从 Terraform 文件快速导航到模板文件。
在您的 Terraform 文件中定位
templatefile函数。将光标放在模板文件名上,然后按下 Ctrl+B。
选择模板数据语言
如果在模板文件扩展名(file.<lang>.tftpl )中指定了语言,则该语言将用作数据语言。 例如,在 file.js.tftpl 中,将使用 JavaScript。 如果未指定数据语言(例如 file.tftpl ),则该模板文件将被识别为纯文本。
如果希望相应识别文件语法,您可以选择数据语言(或更改自动检测的语言)。
在编辑器中右键点击文件标签,然后选择 将 <Language> 模板数据语言更改为 ,例如 将 JavaScript 模板数据语言更改为 或 将纯文本模板数据语言更改为。
或者,在文件中按下 Alt+Enter (显示上下文操作 ),然后选择 选择模板数据语言。
在打开的语言列表中,选择语言。
高级设置
- 自动下载 Terraform 文档
默认情况下,GoLand 会从 Terraform Registry 下载 Terraform 属性的快速文档。 如果遇到网络或性能问题,您可以禁用此功能,GoLand 将改为显示元数据中的描述。 这些描述的可用性取决于资源开发者。
- 自动构建本地元数据
Terraform 与 HCL 插件附带特定版本的提供者元数据,可用于代码辅助功能,例如已知属性的补全。 如果您使用不同版本的提供者元数据,GoLand 会在每次初始化项目(
terraform init)时更新其自身的元数据,以确保获取正确的代码辅助。 如果您不希望 GoLand 更新其元数据,可以取消选中此复选框。- 深入搜索变量
在 Terraform 中使用变量时,GoLand 会检查项目中的所有 Terraform 文件以查找变量定义。 如果您希望 GoLand 仅检查根目录(包含
.terraform.lock.hcl的目录)中的文件,可以取消选中该复选框。
Terraform 代码样式设置
Terraform 特定的代码样式设置位于 中。
- 格式化时对齐属性
选择属性与其值的对齐方式:对齐等号、对齐值或不对齐。
- 行注释符号
按下 Ctrl+/ 时,选择用于单行注释的符号。
- 补全时自动导入 provider
在完成资源名称时,将提供者需求插入到当前文件中。 如缺失,请添加
required_providers块。- 调用 'terraform/tofu fmt' 进行格式化
调用 时运行 Terraform(或 OpenTofu)格式化器。
支持 OpenTofu
OpenTofu 是 Terraform 的一个分支,由社区驱动、开源,并由 Linux Foundation 管理。
GoLand 为 OpenTofu 文件提供代码辅助,包括语法高亮、补全和检查。 此外,OpenTofu 具有专用的运行配置,这些配置与 Terraform 基本相同,但使用 tofu 命令。

指定 OpenTofu 可执行文件路径
要在 IDE 中通过运行配置运行 OpenTofu 命令,必须在计算机上安装 OpenTofu。
在大多数情况下,GoLand 会检测到 OpenTofu 的安装路径。 如果不是该情况,或者路径检测不正确,您可以手动设置路径。
按 Ctrl+Alt+S 打开设置,然后选择 。
在 OpenTofu 可执行文件路径 字段中指定 OpenTofu 的路径。