← 戻る

ZedエディタでVueファイルのBiomeフォーマッタが効かない問題


問題

Zedで .vue ファイルを保存すると、CLIの biome format と微妙に異なるフォーマットが適用される。インデントや閉じタグ前の空白など、細かい差分が毎回発生する。

原因

.zed/settings.json"formatter": "language_server" と指定すると、Vueファイルでは Volar(Vue LSP)が優先的にフォーマッタとして使われる。BiomeのLSPも動いているが、Volarが先に処理してしまう。

解決策

プロジェクトの .zed/settings.json でVue.jsのフォーマッタにBiome LSPを 名前指定 する。

{
  "languages": {
    "Vue.js": {
      "formatter": {
        "language_server": {
          "name": "biome"
        }
      }
    }
  }
}

"formatter": "language_server" (名前なし)ではなく、"name": "biome" で明示することがポイント。

補足

external コマンドで pnpm biome format --stdin-file-path を呼ぶ方法でも動くが、LSP経由の方がZedのエコシステムに沿った正攻法。