> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Command の概要

> VS Code と JetBrains で、AI 搭載のインラインコード編集に Windsurf Command を使用します。Cmd/Ctrl+I で自然言語プロンプトからコードを生成または編集できます。

**Windsurf Command** は、エディタウィンドウ内で自然言語の入力から、新規コードの生成や既存コードの編集を直接行えます。

<Tabs>
  <Tab title="VS Code">
    Command を呼び出すには、Mac では `⌘+I`、Windows/Linux では `Ctrl+I` を押します。
    その後、自然言語でプロンプトを入力し、送信ボタン（または `⌘+⏎`/`Ctrl+⏎`）で AI に指示を送ります。
    すると、Windsurf が複数行の提案を返すので、受け入れるか却下できます。

    Command を呼び出す前にコードの一部をハイライトしている場合、AI はハイライトした行にまたがる選択範囲を編集します。
    それ以外の場合は、カーソル位置にコードを生成します。

    <Frame>
      <video autoPlay muted loop playsInline src="https://exafunction.github.io/public/videos/codeium_command_vscode.mp4" />
    </Frame>

    生成結果は、生成された差分の上にある対応するコードレンズをクリックするか、
    適切なショートカット（それぞれ `⌥+A`/`Alt+A`、`⌥+R`/`Alt+R`、`⌥+F`/`Alt+F`）で、受け入れ、却下、またはフォローアップできます。
  </Tab>

  <Tab title="JetBrains">
    Command を呼び出すには、Mac では `⌘+I`、Windows/Linux では `Ctrl+I` を押します。

    <Note>
      一部のユーザーからこのショートカットの競合が報告されています。そのため、Mac では `⌘+⇧+I` と `⌘+\`（Windows/Linux では `Ctrl+⇧+I` と `Ctrl+\`）も使用できます。
    </Note>

    Command を呼び出すと、コード内の適切な位置にインタラクティブなポップアップが開きます。
    自然言語でプロンプトを入力すると、Windsurf が複数行の提案を返すので、受け入れるか却下できます。
    Command を呼び出す前にコードの一部をハイライトしている場合、AI はハイライトした行にまたがる選択範囲を編集します。
    それ以外の場合は、カーソル位置にコードを生成します。

    <Frame>
      <video autoPlay muted loop playsInline src="https://exafunction.github.io/public/videos/codeium_command_jetbrains.mp4" />
    </Frame>

    エディタ内でスクロールしたり、別の場所にフォーカスしても、Command のポップアップはエディタ内に残ります。
    直近でハイライトした選択範囲、または直近のカーソル位置に対して動作します。
    アクティブな間、Command のポップアップには次のオプションがあります:

    * **Cancel**（`Esc`）: ポップアップを閉じ、ポップアップが開いている間に発生したコードの変更を元に戻します。
    * **Accept generation**（`⌘+⏎`）: 指示を送信して生成結果を受け取った後に表示されます。
      提案をコードエディタに書き込み、ポップアップを閉じます。
    * **Undo generation**（`⌘+⌫`）: 指示を送信して生成結果を受け取った後に表示されます。
      ポップアップを閉じずにコードを Command 実行前の状態に戻し、直近の指示を入力欄に再挿入します。
    * **Follow-up**: 指示を送信して生成結果を受け取った後に表示されます。
      2 回目（および 3 回目、4 回目など）の指示を入力して送信でき、現在表示中の生成結果を元に戻して、カンマで連結された指示履歴を用いて Command を再実行します。
  </Tab>
</Tabs>

<div id="best-practices">
  # ベストプラクティス
</div>

Windsurf Command は、自然言語での指示で表現できる、ファイル単位のインライン変更に最適です。
覚えておきたいポイントは次のとおりです:

* Command を駆動する AIモデル は、Autocomplete を駆動するものよりも大規模です。
  そのため動作はやや遅くなりますが、能力は高く、特に指示追従に優れた学習が施されています。

  * Command を実行する前にコードブロックをハイライトすると、その選択範囲を編集します。そうでない場合は純生成を行います。

  * Command を効果的に使うにはコツがあります。"Fix this" や "Refactor" のようなシンプルなプロンプトでも、
    Windsurf のコンテキスト認識により十分に機能する可能性が高いです。
    「`Diffable` 型の入力を2つ受け取り、Myers の diff アルゴリズムを実装する関数を書いて」のように、
    明確な目的と関連コンテキストへの参照を含む具体的なプロンプトは、AIモデル の出力をさらに高めるのに役立ちます。
