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

# Command の概要

> VS Code と JetBrains で Devin Desktop Command を使うと、AI によるインラインコード編集を行えます。Cmd/Ctrl+I で起動し、自然言語のプロンプトでコードを生成または編集できます。

**Devin Desktop Command** を使うと、自然言語の入力で新しいコードを生成したり、既存のコードを編集したりできます。操作はすべてエディタ上で直接行えます。

<Tabs>
  <Tab title="VS Code">
    Command を起動するには、Mac では `⌘+I`、Windows/Linux では `Ctrl+I` を押します。
    その後、自然言語でプロンプトを入力し、Submit ボタン (または `⌘+⏎`/`Ctrl+⏎`) を押すと、AI に指示が送信されます。
    Devin Desktop は複数行の候補を提示し、それを受け入れるか却下できます。

    Command を起動する前にコードの一部を選択していた場合、AI はハイライトされた行の範囲を編集します。
    選択していない場合は、カーソル位置にコードを生成します。

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

    生成された diff の上にある該当の code lens をクリックすると、生成結果の受け入れ、却下、追加指示を行えます。
    また、対応するショートカット (それぞれ `⌥+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 を起動すると、コード内の適切な位置にインタラクティブなポップアップが表示されます。
    自然言語でプロンプトを入力すると、Devin Desktop が複数行の候補を提示し、それを受け入れるか却下できます。
    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>

Devin Desktop Command は、自然言語の指示で説明できる、ファイル内のインライン変更に適しています。
以下のポイントを押さえておきましょう。

* Command を動かすモデルは、autocomplete を支えるモデルよりも大規模です。
  動作は遅めですが、そのぶん高性能で、特に指示に従うことに優れるよう学習されています。

  * Command を呼び出す前にコードのブロックを選択しておくと、その選択範囲が編集されます。選択していない場合は、新規生成のみが行われます。

  * Command を効果的に使いこなすには、ある程度コツが要ります。Devin Desktop は前提情報を把握できるため、"Fix this" や "Refactor" のようなシンプルなプロンプトでも、十分うまく機能することが多いです。
    一方で、"Write a function that takes two inputs of type `Diffable` and implements the Myers diff algorithm"
    のように、目的が明確で、関連する前提情報への参照を含む具体的なプロンプトにすると、モデルがさらに適切に対応しやすくなります。
