🖇️
VSCode で複数 .env ファイルを扱うとき ShellCheck の警告が出てしまうのをなんとかしたい
例えば、次の場合。
- 環境別の設定を
.env.development/.env.productionなどとして扱いたい場合 - 設定ファイルのひながたを
.env.sampleとして git 管理している場合
こういう警告が出る。

どうやら Shell Script 言語として扱われてしまうようで、 ShellCheck の対象となってしまっている。これをなんとかしたい。
おおまかにふたつの対処方法がある。どちらも個人かワークスペースの settings.json に次を記載する。
定数定義用言語として解釈させる
.env ファイルは VSCode だと Properties という言語と認識され、定数定義用のシンタックスハイライトが効くのでこれにあわせてしまうのが良さそう。
{
"files.associations": {
".env*": "properties"
}
}
files.associations の言語一覧 には Properties という言語がないが、全部小文字の properties が対応するようだ。
チェック対象から外してしまう
.env ファイルでは定数定義しかしないので、チェック対象から外してしまう方法。 ShellCheck 拡張の設定で無視するパスを指定する。
{
"shellcheck.ignorePatterns": {
"**/.env*": true
}
}
Discussion