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のプラグインです! 環境 ❯ code -v 1.54.3 ❯ pip3 --version pip ...
事前準備
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
コメント