はじめに

上記の記事を通して、GitHub Copilot を利用した Terraform 開発の準備が整いました。

VS Code に HashiCorp Terraform 拡張機能を導入・設定することで、
必須項目の書き忘れや記述ミスに早く気づけるようになり、
Terraform を書きながら正しい記述を自然に学べるようになります。

本記事では、Terraform の開発を進めるうえで
「実際に手を動かすときに効いてくる」VS Code の設定を紹介します。

HashiCorp Terraformのインストール

まずは VSCode に HashiCorp Terraform をインストールしましょう。
以下の手順で簡単に追加できます。

1️⃣ VSCode の左側メニューから 「Extensions(拡張機能)」 をクリック

2️⃣ 検索バーに 「HashiCorp Terraform」 と入力

3️⃣ 「HashiCorp Terraform」を選択

4️⃣ 「Enable」をクリック

HashiCorp Terraformの設定変更

1️⃣ 「Explorer」 をクリック

2️⃣ 「New File」をクリック

3️⃣ 「vpc.tf」というファイルを作成

1️⃣ 「vpc.tf」 をクリック

2️⃣ 「Terraform」をクリック

3️⃣ 「Configure ‘Terraform’ language based settings…」をクリック

以下の内容を入力し、ファイルを保存します。

{
  "terraform.experimentalFeatures.prefillRequiredFields": true,
  "terraform.validation.enableEnhancedValidation": true,
  "terraform.experimentalFeatures.validateOnSave": true,
  "terraform.codelens.referenceCount": true,
}

設定確認

以降の説明では、aws_instance を例に解説します。
正式な記述方法や詳細については、公式ドキュメントを参照してください。
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance

terraform.experimentalFeatures.prefillRequiredFields

1️⃣ 「vpc.tf」 をクリック

2️⃣ 以下の内容を入力すると、記載すべき項目の候補が表示される

resource "aws_instance" "name" {
}

terraform.experimentalFeatures.validateOnSave

以下の内容を入力すると、ami が未指定のため赤い波線が表示されます。
赤い波線にカーソルを合わせると、どのように修正すべきかが表示されます。

resource "aws_instance" "name" {
  ami = 
}

terraform.validation.enableEnhancedValidation

不要な argument を記載すると、赤い波線が表示されます。
赤い波線にカーソルを合わせると、どのように修正すべきかが表示されます。

resource "aws_instance" "name" {
  this_attribute_does_not_exist = true
}

terraform.codelens.referenceCount

variable がどこで参照されているかを確認できます。
「1 reference」をクリックすると、参照している箇所が表示されます。

resource "aws_instance" "name" {
  instance_type = var.instance_type
}

variable "instance_type" {
  type    = string
  default = "t3.micro"
}

まとめ

本記事では、VS Code の HashiCorp Terraform 拡張機能を使い、Terraform の開発を進める際に役立つ設定を紹介しました。
これらの設定を有効にすることで、エラーに早く気づけるようになり、コードの修正や管理がしやすくなります。
Terraform を実際に書きながら学んでいくフェーズでは、ぜひ今回の設定を活用してみてください。