Antigravity を使い始めてすぐに気づくのは、コード補完の精度が他のAI IDEと明らかに異なるということです。ただし、デフォルト設定のまま使い続けていると、その能力を半分も引き出せていないかもしれません。
Gemma 4 の統合(2026年4月)を境に、Antigravity のコード補完はさらに大きく進化しました。私自身、Gemma 4 が使えるようになった週に設定を見直したところ、補完の提案が「なんとなく合っている」から「ほぼそのまま使える」レベルに変わったと感じています。
ここでは設定の何を変えると補完の質が上がるのか、そして日々の開発でどう活用するかを具体的にお伝えします。
なぜ Gemma 4 でコード補完が変わったのか
Gemma 4 は前世代のモデルに比べて、コードの「文脈理解」が根本的に向上しています。
以前のモデルは、カーソル位置の前後数行を参照して補完候補を生成していました。Gemma 4 は、ファイル全体の構造・インポート宣言・型定義・直近のコミット差分など、より広いコンテキストを同時に処理します。これによって起きる具体的な変化は次の通りです。
- 同じプロジェクト内で使っている関数名やメソッドパターンを学習して補完に反映する
- TypeScript の型情報を読んで、引数の順序や戻り値の型を正確に提案する
- コメントや変数名の意図を汲んで、処理の内容を予測する
特にTypeScript・Pythonプロジェクトでは、補完の「外れ率」が体感で大きく下がります。
コード補完の精度を左右する3つの設定
Antigravity の設定画面(Cmd+, または Ctrl+,)を開いて、以下の3点を確認してください。
1. Completion Model の選択
// .antigravity/settings.json(プロジェクト固有設定)
{
"completions.model": "gemma-4-pro",
"completions.contextLines": 150,
"completions.multilineEnabled": true
}gemma-4-pro は精度が最も高いモデルですが、レスポンスがやや遅くなります。軽量な gemma-4-flash は補完速度優先の場面(定型コードを多く書く場合)に向いています。私は通常 gemma-4-pro を使いつつ、UIコンポーネントのような反復作業が多い時だけ flash に切り替えています。
contextLines: 150 は、補完時に参照する上下の行数です。デフォルト(50行)のままだと、ファイル冒頭のインポート文が補完モデルに届かず、正確な補完ができないことがあります。
2. ワークスペースインデックスの有効化
{
"workspace.indexing": true,
"workspace.indexingDepth": "full",
"workspace.excludePatterns": [
"node_modules/**",
".next/**",
"dist/**"
]
}workspace.indexing: true を有効にすると、プロジェクト全体のコードがAntigravityの知識ベースに取り込まれます。これが有効な場合と無効な場合では、補完の「プロジェクト文脈への適合度」が劇的に変わります。
excludePatterns は必ず設定してください。node_modules まで含めてインデックスすると、補完候補にライブラリの内部コードが大量に混入します。
3. 補完トリガーのカスタマイズ
{
"completions.triggerDelay": 200,
"completions.triggerOnTyping": true,
"completions.ghostText": true
}triggerDelay: 200(ミリ秒)は、タイピングを止めてから補完が表示されるまでの待機時間です。デフォルト(500ms)だと体感で「遅い」と感じます。200ms にするとほぼリアルタイムに感じられますが、タイプが速い方は 100ms でも問題ありません。
補完の精度を高める実践テクニック
コメントで意図を明示する
Gemma 4 は自然言語のコメントをコンテキストとして強く活用します。
// ユーザーIDからメール・表示名・最終ログイン日を取得し、
// ログインが30日以上前なら isInactive フラグを true にして返す
async function fetchUserProfile(userId: string): Promise<UserProfile> {
// ← ここでタブを押すと、上記コメントに沿った実装が補完される関数の直前にやりたいことを1〜2行コメントするだけで、補完の精度が大きく上がります。「コメントを書く手間が増える」と感じるかもしれませんが、仕様の明文化にもなるため一石二鳥です。
既存のパターンを参照させる
同じプロジェクト内に類似の実装がある場合、そのファイルを開いておくと補完に反映されやすくなります。
# 既に実装済みのハンドラー(users.py)を開いた状態で
# orders.py の新しいハンドラーを書くと、
# エラーハンドリングのパターンや型アノテーションを踏襲した補完が出る
async def get_order_by_id(order_id: str) -> OrderResponse:
# ← users.py の get_user_by_id パターンに沿った補完が提案されるAntigravity は開いているタブのコンテキストも補完に使います。関連ファイルを並べて作業する習慣を持つだけで、補完の文脈適合度が上がります。
.antigravityignore でノイズを排除する
# .antigravityignore(.gitignore と同じ形式)
**/*.test.ts
**/*.spec.ts
**/__mocks__/**
**/fixtures/**
テストファイルやモックをインデックスから除外すると、本番コードの補完精度が上がります。テスト用のダミーデータや仮の実装が混入して、補完候補が「テストっぽいコード」になるのを防げます。
補完が思い通りにならないときの診断法
補完の精度に不満を感じたら、まず以下を確認してください。
ケース1: 補完がまったく出ない
ワークスペースのインデックスが構築中の可能性があります。ステータスバーに「Indexing...」と表示されていないか確認し、完了を待ってください。大規模プロジェクトでは初回インデックスに数分かかることがあります。
ケース2: 補完が的外れ
contextLines が小さすぎる場合が多いです。200〜300行に増やしてみてください。また、workspace.indexingDepth: "full" になっているか確認します。
ケース3: 補完が遅い
gemma-4-pro から gemma-4-flash に変えるか、triggerDelay を 500ms に戻してみてください。ネットワーク環境によっては、モデルへのリクエスト自体に時間がかかっている場合があります。
設定の見直し方については、Antigravity エディタのカスタマイズ完全ガイドも参考にしてみてください。
タブ補完をワークフローに組み込む
コード補完を「運よく出たら使う」レベルから「設計の一部」にするためのフローを紹介します。
「コメント → 補完 → 確認」の3ステップ
- 実装したい処理を日本語(または英語)でコメントに書く
- コメントの下でタブを押して補完を受け取る
- 補完結果を読んで、型・ロジック・エラーハンドリングを確認・修正する
このフローに慣れると、「ゼロからコードを書く」という感覚が「AIの提案をレビューして承認する」に変わります。個人的には、この変化がAntigravityを使う最大のメリットだと感じています。
タブ補完と組み合わせると効果的なのが、インラインチャット機能(Cmd+I)です。補完でおおよその実装を作り、細部の調整はインラインチャットで行うという使い分けが、私の開発では最もスムーズに機能しています。詳しい使い方はAntigravity インラインチャット Cmd+I の完全活用術をご覧ください。
設定変更後にやること
設定を変えたら、まずプロジェクトのインデックスを再構築してください。
# コマンドパレット(Cmd+Shift+P)から実行
> Antigravity: Rebuild Workspace Index再構築後に補完の精度を比較するには、同じコードベースで繰り返し書くような定型的な処理(CRUDのCreate部分、APIクライアントのリクエスト関数など)を試してみると変化が分かりやすいです。
Gemma 4 との連携を最大化するには、モデルの選択・コンテキスト設定・インデックス範囲の3点がすべてかみ合う必要があります。最初は設定の意味が分かりにくいかもしれませんが、一度ベースラインを作ってしまえばプロジェクトをまたいで使い回せます。
今日試すなら、まず .antigravity/settings.json に "completions.model": "gemma-4-pro" と "completions.contextLines": 150 を追加することから始めてみてください。