VSCode 写 Terraform 体验顺滑的关键是装对插件与配置:必装官方 HCL 插件(HashiCorp)、配 terraform CLI 并启用保存自动格式化,辅以 TFLint 和 Terraform Docs 提升质量与导航,settings.json 中设置文件关联与智能提示。
用 vscode 写 terraform,体验可以很顺——前提是装对插件、配好关键设置。默认的 vscode 对 terraform 支持有限,语法高亮不准、变量跳转失败、格式化不生效,这些问题装几个轻量插件+简单配置就能解决。
核心插件:HCL 语言支持是基础
Terraform 用的是 HashiCorp 配置语言(HCL),VSCode 默认不识别。必须安装官方推荐的 HCL 插件(作者:HashiCorp)。它提供语法高亮、基础补全、括号匹配和错误提示。注意别选名字类似但非官方的“Terraform”或“HCL Language”等第三方插件,容易过时或冲突。
- 安装后重启 VSCode,打开
.tf文件会自动启用 HCL 模式 - 若未自动生效,在右下角点击语言模式(如“Plain Text”),手动选 “HCL”
- 该插件不包含格式化功能,需配合其他工具使用
格式化与代码质量:terraform fmt + tflint
VSCode 本身不带 Terraform 格式化能力,需借助外部 CLI 工具并配置为编辑器格式化器。
- 确保本地已安装
terraformCLI(v1.0+),运行terraform version可验证 - 在 VSCode 设置中搜索
editor.defaultFormatter,设为hashicorp.hcl - 开启保存时自动格式化:
editor.formatOnSave设为 true - 进阶建议:安装 tflint CLI 并搭配插件 TFLint(作者:Mehrdad K),可实时检查配置规范、潜在错误(如未声明的变量、过期 provider)
增强开发体验:状态感知与模块导航
写多模块项目时,快速跳转到模块定义、查看资源依赖关系很关键。以下两个插件能明显提升效率:
Windows 桌面自动化技能,支持鼠标控制(移动/点击/拖拽/滚轮/截图)、键盘输入(文字输入/按键/组合键)、窗口管理(查找/聚焦/最大化/最小化/关闭/移动)、截图并发送文件。提供两种截图方式:Python pyautogui 截图(集成在自动化流程中)和 PowerShell + .NET 零依赖截图(支持区域截图和多显示器)。当用户需要自动化 Windows 桌面操作、控制鼠标键盘、管理窗口、执行 GUI 自动化任务、截图发送文件时使用。
- Terraform Extension Pack(作者:mauve):集合了 HCL、TFLint、Terraform Doc 等常用功能,适合新手一键启用
-
Terraform Docs(作者:badsyntax):光标停在模块调用上按
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS),可跳转到对应模块源码(需模块路径可解析,如本地路径或 Git URL) - 注意:远程模块(如 registry.hashicorp.com)无法直接跳转,但本地
source = "./modules/vpc"类型可正常工作
实用配置项:让编辑器更懂 Terraform
在 VSCode 的 settings.json 中加入这几项,避免常见干扰:
-
"files.associations": {"*.tf": "hcl", "*.tfvars": "hcl"}—— 强制所有 .tf 和 .tfvars 文件用 HCL 模式 -
"editor.suggest.snippetsPreventQuickSuggestions": false—— 允许在模板字符串中触发变量补全 -
"[hcl]": {"editor.quickSuggestions": true}—— 开启 HCL 模式下的智能提示 - 禁用可能冲突的通用 YAML/JSON 插件对 .tf 文件的接管(检查右下角语言标识是否始终为 HCL)
基本上就这些。不需要装一堆插件,5 个以内、配置 3–4 项,就能让 VSCode 成为趁手的 Terraform 编辑器。重点是 HCL 插件 + terraform CLI + 保存即格式化,其余按需叠加。










