必须用Terraform by int128插件(作者int128),禁用已弃用的同名旧插件;安装后须手动将.tf等后缀绑定至Terraform语法,否则仍显示Plain Text;高亮仅是基础功能,补全与校验需额外配置LSP-terraform语言服务器及本地terraform CLI。

装对插件、手动绑定后缀、配对语言服务器——三步之后 .tf 文件才能真正“活”起来,否则全是灰色文本或报错不提示。
怎么选对 Terraform 语法插件(不是所有叫 Terraform 的都行)
Sublime 默认不认识 .tf,装错插件等于白忙。必须用 Terraform by int128(作者 int128),它兼容 Terraform 0.12+ 和 1.x;HCL 插件(mattly 维护)也能用,但 resource、module 等资源块名高亮支持弱,容易看着像普通文本。
安装路径:Ctrl+Shift+P → Package Control: Install Package → 搜 Terraform → 点 Terraform by int128。
验证是否装对:Ctrl+Shift+P → Package Control: List Packages,确认列表里有 Terraform by int128,没有 Terraform Tools 或孤立的 Terraform。
为什么 .tf 文件打开还是灰色?绑定语法这一步不能跳
插件只提供解析能力,不自动接管文件后缀。不绑定,Sublime 就当它是纯文本。
- 打开一个
main.tf,右下角点击语法类型(显示Plain Text那种)→ 选Terraform → Terraform - 立刻执行
View → Syntax → Open all with current extension as… → Terraform → Terraform - 同理处理
.tfvars、.auto.tfvars:打开一个dev.tfvars→ 右下角点 →Terraform → Terraform→ 再走一遍Open all with current extension as… - 如果某次没生效,重启 Sublime;若仍无效,按
Ctrl+` 打开控制台,看是否有error loading syntax,说明插件加载失败
terraform fmt 自动格式化和 LSP 补全为什么没反应?
装了 Terraform by int128 只管高亮和基础折叠,不提供 terraform validate 或自动补全。要真·智能提示,得配 LSP:
- 先装
LSP插件,再装LSP-terraform(它会自动下载并管理terraform-ls语言服务器) - 本地必须已安装
terraformCLI,且运行terraform -v能输出版本(≥ 1.0) - 项目根目录必须有
terraform { required_version = "" }块,否则terraform-ls可能拒绝启动 -
terraform fmt集成需额外配置构建系统或使用SublimeLinter-terraform,单纯装语法插件不会触发保存即格式化
变量和模块块颜色太淡?这不是插件问题,是主题没覆盖 scope
很多默认主题(比如 Monokai、Adaptive)对 source.hcl 的 meta.block.resource.hcl 这类作用域没定义,所以 resource 看着和普通文本一样灰。
快速验证:把光标放在 resource 上,Ctrl+Shift+P → Developer: Show Scope Name,看到类似 meta.block.resource.hcl 就对了。
省事办法:换用专为 IaC 优化的主题,比如 ayu 或 Material Theme,它们对 HCL 的 scope 覆盖更全。自己改 color scheme 不仅要找对 scope,还要注意 Windows/macOS 路径差异和 JSON 格式容错,容易配错导致整个主题失效。


















