macにvscodeでterraform環境を整える

作業環境

macbook pro macOS mojave ver10.14.2

手順

terraformインストール

terrformのインストールは, terraformのversionマネージャーであるtfenvを使うとversion管理もできるのでおすすめです。 github.com

とりあえず試してみたいとかで、あればbrew install terraformでインストールするか、ここからダウンロードも可能です。 www.terraform.io

tfenvのインストール&設定

まずはrfenvをインストールします。

> brew install tfenv
> tfenv --version
tfenv 1.0.1

インストールが完了したらterraformをインストールしますが、その前にインストール可能なversionを確認します。 現在(19/10/27)最新は0.12.12なので、installで0.12.12を指定します。

> tfenv list-remote
0.12.12
0.12.11
0.12.10
...


> tfenv install 0.12.12

ちなみに、.terrafrom-versionを作成しておくとtfenv installで指定versionをインストール可能なので、複数環境でつかう場合は作成してリポジトリにおいておくと安心です。

echo > .terraform-version

vscode設定

Extention インストール

とにかくExtentionをインストールしましょう。 これをインストールするだけでも、オートコンプリートやシンタックスハイライトが使えてだいぶ助かります。

marketplace.visualstudio.com

オートフォーマット設定

Extentionをインストールするとterrafrom fmtで整形できるのですが、vscodeの設定でeditor.formatOnSave: tureにしておくと⌘+Sで保存時にオートフォーマットするように設定できます。

f:id:ryook:20191027122807p:plain

設定しておくと、複数人で管理しているときにフォーマットを気にすることもないし、個人でも見やすくなるのでおすすめです。

f:id:ryook:20191027122656g:plain

linterインストール

tflintをインストールしておくと、vscodeでLintが効くのでterraform planして確認し...ということがなくなります。

sil.hatenablog.com

brew install tflint

pathが取っていればvscodeの設定は不要です。(terraform: Lint Pathがdefaultでtflintになっている。) pathが通っていない、場所が違う場合は、適切なpathをLint Pathに設定してください。

文法的に間違いがあると画像のように警告がでます。 f:id:ryook:20191028173812p:plain