Help us understand the problem. What is going on with this article?

VSCodeでTerraformを書くときの設定(2019/11/07追記: HCL2対応)

追記 :2019/11/07

ついにTerraform 0.12以降のHCL2に対応した模様です!

VSCodeのコンソールから
terraform: install/update language server -> 現在最新の v0.0.9 を選択
terraform: Enable/Disable Language Server を実行
でHCL2記法の.tfファイルでもエラーが出なくなりました。
スクリーンショット 2019-11-07 22.55.11.png

参照issue: feat: Terraform 0.12 support (was hcl2 support) #157

はじめに

VSCodeでTerraformを書くときに
最初にやっておいたほうが良いであろう設定を書いてみます。

環境

  • macOS Mojave 10.14.1
  • VSCode 1.30.2
  • Terraform v0.11.11

できること

全容はVSCodeのTerraform Extensionのページに書いてあるとおりです。

Extensionを素のままインストールするだけでも
シンタックスハイライトやオートコンプリートなどなど 一気に便利になりますが
他にも少し設定をいれることで

  • linter(TFLintによる)
  • ファイル保存時に自動でterraform fmtをかける

などが使えたりします。

設定

ツールインストール

  • Terraform (VSCode Extension)
    • codeコマンドが使えないときはGUIで入れるかこちらの記事を参照してパスを通す
 $ code --install-extension mauve.terraform
  • TFLint
    • Homebrewでインストール
    • ソースからビルドする方法もあり
$ brew tap wata727/tflint
$ brew install tflint

設定

素のままでもシンタックスハイライトなどは使えますが、以下設定を入れると吉

オートfmt

↓ 例: 不要な改行やスペースをいれて、⌘Sで保存してみた図
Feb-06-2019 21-15-49.gif

ファイル保存時、自動で terraform fmt で整形してくれるパラメータです。
チェックで有効化されます。

  • editor.formatOnSave

スクリーンショット 2019-02-06 20.48.11.png

tflint

↓ 例: 3行目, 11文字目に余計な=がついているときの警告
スクリーンショット 2019-02-06 21.02.13.png

文法エラーなどを検出してくれるtflintのパスを指定します。
(もともとログインシェルの方でパス通ってればコマンド書くだけでいいぽいです)

  • terraform.lintPath スクリーンショット 2019-02-06 20.53.33.png

おわりに

おすすめの設定があれば教えてください!

pypypyo14
にゃんともワンダフル
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした