はじめに
windows環境かつ、VS Codeでのcfn-lintのセットアップ手順を取り扱った記事が少ないように感じたので、実際に私が行った手順をまとめてみました。
筆者の環境
・VS Codeインストール済み
・OSはWindows10
手順は以下となります。
順番 | 内容 |
---|---|
1. | 拡張機能でCloudFormation Linterをインストール |
2. | Pythonをインストール |
3. | pipでcfn-lintをインストール |
4. | CloudFormation Linter configurationで絶対パスを指定 |
1. 拡張機能でCloudFormation Linterをインストール
VS Codeの拡張機能からCloudFormation Linterをインストールします。
2. Pythonをインストール
お使いのWindowsにPythonをインストールします。
pipはPythonのインストール時にデフォルトで付属してきます。
Pythonのインストール方法は本記事では解説しませんが、こちらの記事などが参考になります。
3. pipでcfn-lintをインストール
pipでcfn-lintをインストールします。
ターミナル(PowerShell)から、以下のコマンドを入力します。
pip3 install cfn-lint
インストールの完了後、cfn-lintの絶対パスを確認しておきます。
linuxのwhich
コマンドに相当します。
where.exe cfn-lint
# 実行結果
C:\hogehoge~\cfn-lint.exe
4. CloudFormation Linter configurationで絶対パスを指定
VS Codeの設定を開きます(Ctrl
+ ,
)。
'拡張機能'の項目からCloudFormation Linter configuration
を選択します。
Cfn Lint:Path
欄に、先程確認したcfn-lint.exe
の絶対パスを入力します。
入力を終えたら、VS Codeを再起動します。
手順は以上となります。
CloudFormationテンプレートを開いて、cfn-lintが使えるか確かめてみて下さい。
補足:文字コードエラーが起きたときの対処例
上記の手順を実行後、私の場合は以下のエラーが発生しました。
cfnlint.decode - ERROR - Cannot read file contents: �(置換文字)の含まれた絶対パス
こちらの記事の内容を試したところ解決しましたので、同様の状態の方は参考にしてみて下さい。
おわりに
Linterを導入したところ、CloudFormationの作業効率が格段に上がりました。
この記事が少しでも参考になれば幸いです。
参考記事
・VSCodeにCloudFormationのLinterを追加する
・which command相当をWindowsで実行する方法