🛠️
[Tips]ZedでTerraformのformat on saveが効かなかったので対処した
概要
Zedを使いながらTerraformのコードを書こうとしたのですが、"format on save"が効かないことに気づきました。
対処方法をしらべると意外と時間がかかったので、同じ問題で困っている方の参考になればと思い、記事にまとめます。
問題
Terraformの .tf ファイルをZedで編集し保存した際、自動で"format on save"してほしかったのだが、動作しなかった。
当時の環境
- Terraformの拡張機能はインストール済み。
- settings.jsonの設定は以下の通り。
"format_on_save": "on",
"formatter": "language_server",
原因
Zedでlanguage serverの設定を明示的に行っていないため、Terraformのlanguage serverが認識されていなかったことが原因(と思われる)。
解決方法
Zedの設定ファイル(例: settings.json)に、以下のような記述を追加し、Terraformのlanguage serverを指定する。
"format_on_save": "on",
"formatter": "language_server",
"languages": {
"Terraform": {
"language_servers": [
"terraform-ls"
]
}
}
結果
保存時にTerraformファイルが自動整形されるようになりました。

補足
-
terraform-lsがインストールされている必要があります。 - settings.jsonを変更後反映されない場合は、リロードすれば反映されます。
まとめ
ZedでTerraformのformat on saveが効かない場合は、language_servers の設定を追加することで解決できました。
ほかの言語でもformat on saveが効かない場合には、同様の設定を試してみると良いかもしれません。
Discussion