VSCode で CloudFormation を書くための、vscode のプラグインについてです。
入れてみると、これは必須だなと感じたので、その環境構築方法を備忘録しておきます。
前提
- OS:Windows 10
- VSCode はインストール済み
- python3 と pip が使える環境
プラグイン
2つのプラグインを入れました。
それぞれ簡単に説明します。
CloudFormation
このプラグインは、スニペットとして使います。
リソースごとに、「何を記述するんだっけ?」ってなったときにテンプレートを作ってくれるので助かります。
使い方は英語で書いてあるのですが、概要を下記に書きます。(ここでは *.yml
で作成することを前提で進めます)
事前準備
CloudFormation は yaml 記法と若干違うところがあるので、vscodeの設定を変えます。
(デフォルトだと、Unresolved tag: !Ref
というエラーになる)
"yaml.customTags": [
"!Base64 scalar",
"!Cidr scalar",
"!And sequence",
"!Equals sequence",
"!If sequence",
"!Not sequence",
"!Or sequence",
"!Condition scalar",
"!FindInMap sequence",
"!GetAtt scalar",
"!GetAtt sequence",
"!GetAZs scalar",
"!ImportValue scalar",
"!Join sequence",
"!Select sequence",
"!Split sequence",
"!Sub scalar",
"!Transform mapping",
"!Ref scalar",
],
こちら、以下を参考にしました。
Unresolved tag: !Ref in CloudFormation Template · Issue #669 · redhat-developer/vscode-yaml
##Description When the extension is running and I am creating a CloudFormation template, the valid syntax of !Ref EnvironmentName, for example, where Environmen...
settings.json
を保存する- vscode にて CloudFormation をインストールする
使い方
- 空のファイル(
*.yml
)を作成する - ファイルの行頭で
start
と入力する。入力し始めると、スニペットが作動するので、タブボタンを押す
- すると、以下のようにスニペットでテンプレートが自動挿入されます(赤波線は後述でインストールしてるlinterの機能なので、このプラグインとは別物です)
- 各項目配下で、上述のようにスニペットが使えるようになる
これはかなり便利だと思います。
CloudFormation Linter
こちらは、コード入力時に誤りがあった場合、エディタ上で指摘をしてくれる linter のプラグインです。
以下の記事を参考にさせてもらいました。
VSCodeにCloudFormation Linterをインストールする手順 - Qiita
CloudFormation Linterとは?CFnテンプレートをチェック、プロパティ保管も用意されており、入れない理由がないと言っても過言ではないVSCodeのプラグインです!環境❯ c…
事前準備
cfn-lint
をインストールする(cfn-lint
は、python で cloudformation の記述をチェックしてくれるツール)
$ pip install cfn-lint
- vscode にて CloudFormation Linter をインストールする
- 設定を開く(設定の開き方は上述と同じ)
- 検索窓で
Cfn Lint: Path
と入力し、下記のように/usr/local/bin/cfn-lint
と入力して設定する
使い方
CloudFormation で記述をしていると、以下のように誤りの箇所を赤波線で教えてくれます。
補足
ここでは話がそれますが、インストールした cfn-lint
を使用することで、他にも以下のように CloudFormation の記述を事前チェックすることができます。
$ cfn-lint hoge.yml
コメント