ANTIGRAVITY LABEN
記事一覧/Editor View
Editor View/2026-04-27中級

Antigravityで保存時の自動フォーマットが効かないときの原因と直し方

保存ボタンを押してもコードが整形されない、特定のファイルだけフォーマッタが走らない――Antigravityで頻発するFormat on Saveのトラブルを、設定の切り分け順に解決していきます。

antigravity435format-on-saveeditor28prettiertroubleshooting88

「⌘S を押した瞬間にコードが整形される」というあの気持ちよさが急に消えると、開発のリズムは一気に崩れますよね。Prettier も入っているし editor.formatOnSavetrue のはず。それでもセミコロンが揃わない、インデントが直らない、最悪なのは「ファイルによっては効くけれど、なぜか TypeScript だけスルーされる」というケースです。

ここでは私が Antigravity を業務で使っていて何度も踏んだ Format on Save の罠を、優先順位の高い順にチェックリスト化しました。1〜2分で原因が特定できる順序で並べていますので、上から順番に試してみてください。

最初に確認する3つの設定

Format on Save が動かないとき、99% は以下の3項目のどれかです。Antigravity の Settings を開き(⌘, または Ctrl+,)、検索ボックスに format と入れて確認します。

  • editor.formatOnSavetrue になっているか
  • editor.defaultFormatter にフォーマッタが指定されているか(例: esbenp.prettier-vscode
  • 対象言語(例: [typescript])の editor.defaultFormatter がワークスペース側で別の値に上書きされていないか

特に3つ目の落とし穴がやっかいです。ユーザー設定では Prettier を指定しているのに、ワークスペースの .vscode/settings.jsonnull や別拡張がオーバーライドされていると、そのプロジェクトだけフォーマットが無効化されます。Antigravity の Settings UI 右上にある「Workspace」タブを開き、上書きされていないか必ず確認してください。

// .vscode/settings.json — チーム開発で推奨する最小構成
{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

このファイルをコミットしておけば、チームメンバー全員が同じフォーマッタで保存するようになります。「自分だけ整形されない」現象の根治薬は、ほぼこれです。

フォーマッタが複数候補ある場合の正しい選び方

JavaScript / TypeScript の世界では、Prettier・ESLint・Biome・Deno fmt と複数のフォーマッタが共存しがちです。どれが走るかはコマンドパレットから明示的に確認できます。

⌘⇧P でコマンドパレットを開き、Format Document With... を実行してみてください。候補が複数並ぶ場合、Antigravity はあなたが選んだ最後のフォーマッタを記憶し、以降の自動フォーマットでもそれを使い続けます。Format on Save が「なぜか間違ったフォーマッタを呼んでいる」場合、ここで一度正しいものを選び直すだけで直ることが多いです。

注意したいのは、ESLint を --fix で走らせるのと Prettier で整形するのは別物だという点です。両方を保存時に動かしたいなら、次のように codeActionsOnSave を組み合わせます。

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  }
}

"explicit" は VS Code 1.85 以降の書き方で、true/false の旧記法を使うと将来動かなくなります。Antigravity も最新の VS Code エンジンに追従しているので、新記法に揃えておくのが安全です。

ファイル種別だけ動かないときに見る場所

.ts は整形されるのに .tsx だけ動かない」「Markdown だけスキップされる」――こういう症状は言語別の上書きが原因です。Settings の検索ボックスに対象の言語名(例: typescriptreact)を入れて、editor.defaultFormatter の値を確認してください。空欄か、入っていないフォーマッタの拡張機能 ID が指定されていれば、それが犯人です。

加えて、フォーマッタ側がそのファイル種別を「対応していない」可能性もあります。Prettier であれば、.prettierignore に対象ファイルが入っていないか、プロジェクトルートに置いた prettier.config.jsoverrides でファイルパターンが除外されていないかを確認します。

// prettier.config.js — overridesでうっかり除外していないか確認
module.exports = {
  semi: true,
  singleQuote: true,
  overrides: [
    {
      files: "*.md",
      options: { proseWrap: "preserve" }
    }
  ]
};

私の経験では、.prettierignore に過去のメンバーが追加した *.tsx 行が残っていて、新メンバーだけが「自分のマシンでだけ tsx が整形されない」と困っていたことがありました。Git の履歴で git log -p .prettierignore を眺めるだけで原因が特定できます。

拡張機能の競合とAIサジェストとのケンカ

最近増えているのが、AI 補完やリンター系拡張が裏で別の整形を走らせて、Prettier の結果を上書きしてしまうケースです。Antigravity の Output パネル(⌘⇧U)を開いて、PrettierESLint、AI 系拡張のチャンネルに切り替えてみてください。保存時にどの拡張が動いたかがログに残ります。

複数のフォーマッタが連続で走っていれば、editor.codeActionsOnSave の順序を見直す必要があります。基本的には「リンタの fixAll → Prettier」の順がトラブルが少なく、両方走らせるとどちらが最後に勝つかで挙動が変わります。

加えて、AI 補完が確定タイミングで自動的にカーソル位置を変えてしまい、Format on Save のタイミングと重なると整形がスキップされることもあります。怪しい場合は AI 系拡張を一時的に無効化して、フォーマットだけが効くか確かめてみてください。

それでも直らないときの最終手段

ここまで試して動かないなら、Antigravity の設定キャッシュが壊れている可能性があります。次の順で復旧します。

  • Developer: Reload Window(コマンドパレット)でウィンドウを再起動する
  • ユーザー設定 settings.json の Format on Save 関連行を一旦コメントアウトし、Reload してから1行ずつ戻す
  • Extensions ビューでフォーマッタ拡張を「Disable」→「Enable」して再インストール状態にする
  • それでもダメなら拡張機能のログ(Output → Log (Extension Host))でエラーが出ていないか確認

技術書1冊で議論の前提が共有できるのは、地味ですが効きます。

全体を振り返って — 保存時フォーマットを止めないための1つの習慣

Format on Save が壊れる原因の多くは、設定の「上書き層」のどこで切れたかが見えていないことです。私のおすすめは、新しいプロジェクトを始めたら最初の commit で .vscode/settings.json.prettierrc.editorconfig を一緒に置いてしまうこと。後から追加しようとすると「自分の環境では効くのに他のメンバーでは効かない」現象に必ず遭遇します。

関連する症状で困っている場合は、Antigravityでタブ補完が効かないときの直し方言語サーバー(LSP)が応答しないときの修正手順Settings Syncが動作しないときの対処法 も合わせて読むと、エディタ周辺のトラブルシューティングが一通り押さえられます。

今日のうちに .vscode/settings.json を1行だけ覗いて、editor.defaultFormatter がチームで揃っているか確認してみてください。それだけで「Format on Save がおかしくなった日」を1回減らせます。

シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Editor View2026-05-04
Antigravity で ESLint と TypeScript の赤波線が消えた時に確認する5つのポイント
Antigravity でエディタの赤波線エラーが急に出なくなる現象の原因を、症状別に5つの視点で診断する手順をまとめました。TypeScript Server再起動から AI が触った tsconfig の復元まで実用本位で解説します。
Editor View2026-05-02
AntigravityでCmd+Zを押したらAI生成コードが思った以上に消える問題の防ぎ方
AIが書いてくれた100行を残したいのにCmd+Zで一気に巻き戻った、その経験を持つ人へ。Antigravityで起きる「Undoのまとめ消し」を、原因と防止策と復旧手順の3段階で整理します。
Editor View2026-04-27
AntigravityでCmd+Kインラインエディットが反応しないときに見るべき7つのチェックポイント
Cmd+Kを押しても入力フィールドが出ない、出ても応答が返ってこない。Antigravityで頻発するインラインエディット不具合を、原因の切り分け順に解決していきます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →