ANTIGRAVITY LABEN
記事一覧/Editor View
Editor View/2026-03-25中級

Antigravity のインラインチャット(Cmd+I)で素早くコードを編集する実践テクニック

Antigravity のインラインチャット(Cmd+I / Ctrl+I)を使いこなすための実践ガイド。コード生成・リファクタリング・バグ修正を、エディタを離れずに素早く行うテクニックを解説します。

antigravity435inline-chateditor28productivity19cmd-icode-editing

取り組みの背景 — インラインチャットとは?

Antigravity のインラインチャット(Cmd+I / Windows・Linux では Ctrl+I)は、エディタ内で直接 AI に指示を出してコードを編集できる機能です。サイドパネルのチャットとは異なり、カーソル位置やコードの選択範囲に対してその場でピンポイントに変更を加えられるのが最大の特長です。

「ちょっとした修正のためにチャットパネルを開いて、コードをコピーして、結果を貼り付けて……」という手間が一切不要になります。インラインチャットを日常の開発ワークフローに組み込むための実践テクニックを順番にご紹介します。

インラインチャットの基本操作

起動と使い方

インラインチャットの操作はとてもシンプルです。

// Step 1: コードの任意の位置にカーソルを置く(または範囲を選択)
// Step 2: Cmd+I(Mac)または Ctrl+I(Windows/Linux)を押す
// Step 3: 表示されたテキストボックスに指示を入力
// Step 4: Enter で実行 → AIがコードを生成・修正
 
// 例: 以下の関数にカーソルを置いて Cmd+I → 「エラーハンドリングを追加」
function fetchUser(id: string) {
  const response = await fetch(`/api/users/${id}`);
  return response.json();
}
 
// AIが生成する結果の例:
async function fetchUser(id: string): Promise<User | null> {
  try {
    const response = await fetch(`/api/users/${id}`);
    if (!response.ok) {
      throw new Error(`HTTP error: ${response.status}`);
    }
    return await response.json();
  } catch (error) {
    console.error(`Failed to fetch user ${id}:`, error);
    return null;
  }
}

サイドチャットとの違い

インラインチャットとサイドパネルのチャットは、それぞれ異なるシナリオに最適化されています。

インラインチャット(Cmd+I)が向いている場面:

  • 関数やブロック単位の修正
  • 変数名の変更やリファクタリング
  • コメントやドキュメントの追加
  • 型定義の修正
  • バグ修正

サイドチャット(Cmd+L)が向いている場面:

  • 新規ファイルの作成
  • 複数ファイルにまたがる大規模な変更
  • アーキテクチャの相談
  • エラーの原因調査

使い分けの目安としては、「変更箇所が明確で、1つのファイル内で完結する修正」にはインラインチャットが最適です。

実践テクニック — インラインチャットを最大限活用する

テクニック 1: 範囲選択で精度を上げる

インラインチャットの精度は、選択範囲によって大きく変わります。何も選択せずに実行すると、AI はカーソル周辺のコンテキストから推測しますが、編集したい範囲を明示的に選択すると、はるかに正確な結果が得られます。

// ❌ カーソルだけ置いて「型を追加」と指示 → 周辺のどの部分か曖昧
// ✅ 関数全体を選択して「引数と戻り値に型を追加」→ 確実に正しい箇所を修正
 
// 選択範囲の例: 以下の関数全体を選択してから Cmd+I
function processOrder(order, user) {
  const total = order.items.reduce((sum, item) => sum + item.price, 0);
  const discount = user.isPremium ? total * 0.1 : 0;
  return { total: total - discount, discount };
}
 
// 期待する出力:
interface OrderItem {
  name: string;
  price: number;
  quantity: number;
}
 
interface Order {
  items: OrderItem[];
}
 
interface User {
  isPremium: boolean;
}
 
interface OrderResult {
  total: number;
  discount: number;
}
 
function processOrder(order: Order, user: User): OrderResult {
  const total = order.items.reduce((sum, item) => sum + item.price, 0);
  const discount = user.isPremium ? total * 0.1 : 0;
  return { total: total - discount, discount };
}

テクニック 2: 具体的な指示で意図を伝える

曖昧な指示よりも、具体的な指示のほうが意図通りの結果を得やすくなります。

# ❌ 曖昧な指示
「この関数を改善して」
「もっと良くして」
「バグを直して」
 
# ✅ 具体的な指示
「null チェックを追加して、id が undefined の場合は早期リターンする」
「forEach を map に変換して、結果を新しい配列として返す」
「async/await パターンに書き換えて、try-catch でエラーをログ出力する」
「この関数を pure function にリファクタリングして、副作用を取り除く」

テクニック 3: 段階的な編集を重ねる

一度の指示ですべてを完成させる必要はありません。インラインチャットは繰り返し使うことで真価を発揮します。

// Step 1: まず基本構造を生成
// Cmd+I → 「ユーザー認証のミドルウェア関数を作成」
 
export function authMiddleware(req, res, next) {
  const token = req.headers.authorization;
  if (!token) return res.status(401).json({ error: 'Unauthorized' });
  next();
}
 
// Step 2: 型を追加
// 関数全体を選択 → Cmd+I → 「Express の型を追加して」
 
import { Request, Response, NextFunction } from 'express';
 
export function authMiddleware(
  req: Request,
  res: Response,
  next: NextFunction
): void {
  const token = req.headers.authorization;
  if (!token) {
    res.status(401).json({ error: 'Unauthorized' });
    return;
  }
  next();
}
 
// Step 3: JWT検証ロジックを追加
// 関数本体を選択 → Cmd+I → 「JWT トークンを検証して、デコードしたペイロードを req.user にセット」

テクニック 4: テストコードの即時生成

関数を選択して「この関数のユニットテストを生成」と指示するだけで、テストコードが作られます。

// 元の関数を選択して Cmd+I → 「Jest でこの関数のテストを書いて。正常系と異常系を含めて」
 
// 元のコード:
function calculateShipping(weight: number, distance: number): number {
  if (weight <= 0 || distance <= 0) throw new Error('Invalid input');
  const baseRate = 500;
  const weightRate = weight * 10;
  const distanceRate = distance * 2;
  return baseRate + weightRate + distanceRate;
}
 
// AI が生成するテスト:
describe('calculateShipping', () => {
  test('正常な入力で送料を計算する', () => {
    expect(calculateShipping(5, 100)).toBe(500 + 50 + 200);
  });
 
  test('重量が0以下の場合にエラーを投げる', () => {
    expect(() => calculateShipping(0, 100)).toThrow('Invalid input');
  });
 
  test('距離が0以下の場合にエラーを投げる', () => {
    expect(() => calculateShipping(5, 0)).toThrow('Invalid input');
  });
 
  test('重量と距離が大きい場合も正しく計算する', () => {
    expect(calculateShipping(100, 500)).toBe(500 + 1000 + 1000);
  });
});

知っておくと便利な応用パターン

パターン 1: コメントからコードを生成

コメントを書いてから、そのコメントを選択してインラインチャットを起動すると、コメントの内容に沿ったコードが生成されます。

// 以下のコメントを選択して Cmd+I → 「このコメントの内容を実装して」
 
// レート制限ミドルウェア:
// - 1分あたり60リクエストまで
// - IPアドレスベースで制限
// - 制限超過時は 429 ステータスを返す
// - X-RateLimit-Remaining ヘッダーを付与

パターン 2: エラーメッセージを貼り付けて修正

ターミナルのエラーメッセージをコピーし、問題のあるコードを選択してインラインチャットに貼り付けると、文脈に基づいた修正が行われます。

# Cmd+I に入力する内容の例:
「以下のエラーを修正して: TypeError: Cannot read property 'map' of undefined」

パターン 3: ドキュメントコメントの一括生成

ファイル内の全関数を選択して、JSDoc / TSDoc を一括で追加できます。

// ファイル全体(または複数の関数)を選択 → Cmd+I
// → 「すべての public 関数に JSDoc コメントを追加して。
//    @param と @returns を含めて」

まとめ — インラインチャットを日常のワークフローに

インラインチャット(Cmd+I)は、Antigravity の中でも特に使用頻度が高くなる機能です。サイドチャットほど大げさではなく、タブ補完よりも意図を明確に伝えられる、ちょうど良い粒度の AI アシスタンスを提供してくれます。

ポイントを振り返ると、編集したい範囲を明示的に選択すること、具体的で簡潔な指示を心がけること、そして段階的に編集を重ねることで、インラインチャットのポテンシャルを最大限引き出せます。

まだ Cmd+I を日常的に使っていないなら、まずは「型の追加」や「エラーハンドリングの追加」といった定型的な作業から始めてみてください。一度慣れると、もうインラインチャットなしの開発には戻れなくなるはずです。

エディタの基本機能について知りたい方は「Antigravity Editor View 完全ガイド」も合わせてお読みください。

シェア

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

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

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

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

関連記事

Editor View2026-06-15
Antigravity 2.0 デスクトップで複数エージェントを同時監督するときの画面と割り込みの設計
Antigravity 2.0 が『エージェント管制塔』へ再定義された今、デスクトップで複数エージェントを同時に走らせるときの画面構成・割り込み判断・状態の見える化を、実作業の手順とともに整理しました。
Editor View2026-05-03
Gemini CLI と Antigravity を本気で使い分ける — 2026年5月、現場で出した結論
Gemini CLI と Antigravity を半年並行運用してきた個人開発の現場から、ターミナル派とIDE派それぞれの本領を、実例コード・コスト比較・判断フレームワークで具体的に整理します。
Editor View2026-05-01
Antigravity の tasks.json と launch.json でワンキー開発環境を仕上げる
Antigravity の tasks.json と launch.json を使い込んで、ビルド・テスト・デプロイを Cmd+Shift+B 一発で動かす実装パターンを、個人開発で使い続けている設定例とともに解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →