🛠️

[Tips]ZedでTerraformのformat on saveが効かなかったので対処した

に公開

概要

Zedを使いながらTerraformのコードを書こうとしたのですが、"format on save"が効かないことに気づきました。
対処方法をしらべると意外と時間がかかったので、同じ問題で困っている方の参考になればと思い、記事にまとめます。


問題

Terraformの .tf ファイルをZedで編集し保存した際、自動で"format on save"してほしかったのだが、動作しなかった。

当時の環境

  "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_formatonsave


補足

  • terraform-ls がインストールされている必要があります。
  • settings.jsonを変更後反映されない場合は、リロードすれば反映されます。

まとめ

ZedでTerraformのformat on saveが効かない場合は、language_servers の設定を追加することで解決できました。
ほかの言語でもformat on saveが効かない場合には、同様の設定を試してみると良いかもしれません。

GitHubで編集を提案

Discussion