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

# ツール

Qoder は、ファイル検索、ファイル読み取り、ディレクトリ参照、シンボル検索、ファイル編集、エラーチェック、コマンド実行などのプログラミングシナリオをカバーする豊富なツールを提供します。また、Model Context Protocol（MCP）サービスと統合して、開発者がさらに拡張機能を構成し、コーディング体験をより最適化できるようにします。

<div id="search">
  ## **検索**
</div>

Agent Mode では、Qoder は検索ツールを使用して以下のスコープから情報を取得します：

| **スコープ**    | **説明**                     |
| :---------- | :------------------------- |
| Codebase    | コードベース探索のためのコード検索ツール       |
| Files       | プロジェクト内のファイルを検索します。        |
| Code        | プロジェクト内の特定のコードスニペットを検索します。 |
| Directory   | プロジェクトのディレクトリ構造を表示します。     |
| Web         | API キー不要の自由検索を実行します。       |
| Web content | Web ページのコンテンツを取得します。       |

<div id="edit">
  ## **編集**
</div>

Agent Mode では、Qoder はコードファイルを編集するために次のツールを使用します:

| **機能**  | **説明**            |
| :------ | :---------------- |
| ファイルの編集 | 特定のコードファイルを編集します。 |
| ファイルの閲覧 | コードファイルの内容を表示します。 |

<div id="execute-commands">
  ## **コマンドの実行**
</div>

Agent Mode では、Qoder は事前の条件に基づいてコマンドを作成・実行するために、次のツールを使用します。

| **機能**     | **説明**                |
| :--------- | :-------------------- |
| コマンドの実行    | ターミナルでコマンドを実行します。     |
| ターミナル出力の取得 | 以前に実行したコマンドの出力を取得します。 |

<div id="find-problems">
  ## **問題の検出**
</div>

Agent Mode では、Qoder は次のツールを使ってコード上の問題を見つけます。

| **機能**            | **説明**                                   |
| :---------------- | :--------------------------------------- |
| Get code problems | プロジェクト内のコードの問題を検出します（**Problem** ウィンドウ）。 |

<div id="update-memories">
  ## **メモリの更新**
</div>

Agent Mode では、Qoder は次のツールを使って、要件に応じてメモリを更新します。

| **機能** | **説明**                  |
| :----- | :---------------------- |
| メモリの更新 | ユーザー入力に基づいて永続メモリを更新します。 |

<div id="diff-view">
  ## **Diff View**
</div>

AI がコード変更を提案する際は、Agent モードでも Inline Chat でも、変更点は文脈付きの明確な差分ビューで表示され、適用前にレビューできます。これにより、あらゆる変更に対する完全な可視性とコントロールを維持できます。

<div id="diff-preview-format">
  ### **差分プレビュー形式**
</div>

プレビューは標準的な差分表記で変更点を表示します:

* 追加行は緑色で表示
* 削除行は赤色で表示
* 変更されていない周辺のコードはニュートラルに表示され、contextを保ち、変更範囲の把握を助けます

このインライン差分形式により、何が変わるのかを正確に確認し、なぜその変更が行われたのかを理解し、既存のコードベースとの適合性を評価したうえで、各変更を自信を持って編集、または却下できます。

例:

```diff theme={null}
function validate(user) {

- return user.id !== undefined;

+ return user.id && user.status === 'active'; }
```

<div id="review-mode">
  ## **レビューモード**
</div>

Agent がタスクまたは会話ターンを完了すると、すべての変更が表示され、コードベース全体にわたる変更点を俯瞰できます。コードの変更は直接適用されるため、不満足な変更がある場合は **Reject** をクリックしてその変更を元に戻すことができます。

<div id="per-change-controls">
  ### **変更ごとのコントロール**
</div>

各変更ブロックの右上隅で、その変更を破棄するには **Reject** を選択します。

<div id="file-level-controls">
  ### **ファイルレベルのコントロール**
</div>

ファイルの下部では:

* **Reject** — 現在のファイルで提案された変更をすべて破棄
* **Navigate** — 保留中の変更があるファイル間を移動

<img src="https://mintcdn.com/qoder/soy4sNOQCG_ZPrfN/images/5eecdaf48460cde505c26f792344b241914623f7c627339375b8339e1c4c24831b75b38faadcd24bec177c308ebd53043616fad5001efc436de832a8794e99ad3854191ad2f2fa697995bdd00ade9bb63eb91092d88ba7a74fb4c8ed7016461c.png?fit=max&auto=format&n=soy4sNOQCG_ZPrfN&q=85&s=cf91ec55530940b5c1fc882e6afe59e5" alt="5eecdaf48460cde505c26f792344b241914623f7c627339375b8339e1c4c24831b75b38faadcd24bec177c308ebd53043616fad5001efc436de832a8794e99ad3854191ad2f2fa697995bdd00ade9bb63eb91092d88ba7a74fb4c8ed7016461c Pn" width="1644" height="912" data-path="images/5eecdaf48460cde505c26f792344b241914623f7c627339375b8339e1c4c24831b75b38faadcd24bec177c308ebd53043616fad5001efc436de832a8794e99ad3854191ad2f2fa697995bdd00ade9bb63eb91092d88ba7a74fb4c8ed7016461c.png" />

<div id="handle-multiple-file-changes">
  ### **複数ファイルの変更を扱う**
</div>

変更が複数のファイルにまたがる場合、影響を受けたファイル名が Chat パネルの上に表示されます。**Reject All** をクリックして一覧されたすべてのファイルに対して変更を一括して破棄できます（誤操作を防ぐための二次確認プロンプトが表示されます）。また、ファイル名をクリックしてそのファイルに直接移動し差分を表示したり、ファイル名にカーソルを合わせてそのファイルのみに対する **Reject** を表示したりできます。

<img src="https://mintcdn.com/qoder/soy4sNOQCG_ZPrfN/images/24A7804D-0A09-4CB6-A157-3EF75BCB381B.png?fit=max&auto=format&n=soy4sNOQCG_ZPrfN&q=85&s=9be54d5662bd27d249f2cd457cdeb43b" alt="24A7804D 0A09 4CB6 A157 3EF75BCB381B Pn" width="2880" height="1800" data-path="images/24A7804D-0A09-4CB6-A157-3EF75BCB381B.png" />

<img src="https://mintcdn.com/qoder/soy4sNOQCG_ZPrfN/images/65A030F9-8FF7-4310-AC9B-D226941C5A2A.png?fit=max&auto=format&n=soy4sNOQCG_ZPrfN&q=85&s=57b1aa56b979c0c8d52e8cf07d22df25" alt="65A030F9 8FF7 4310 AC9B D226941C5A2A Pn" title="65A030F9 8FF7 4310 AC9B D226941C5A2A Pn" style={{ width:"54%" }} width="790" height="296" data-path="images/65A030F9-8FF7-4310-AC9B-D226941C5A2A.png" />

## 画像生成

会話で `/gen-image` コマンドを入力すると、自然言語による説明から画像を生成できます。Agent が画像を生成し、そのままプレビューを返します。

生成された画像は次の操作をサポートします:

* **Add to Chat** — 画像をコンテキストとして会話に追加し、Agent がその画像に基づいて回答や成果物を生成できるようにします。
* **Download** — 画像をローカルに保存し、デザインや制作のフローにシームレスに組み込めます。
* **Copy image** — 画像をクリップボードにコピーして、他の場所に貼り付けて利用できます。

<Note>Quest でも利用可能です。</Note>

## メッセージキュー

メッセージキューを使うと、Agent がタスクを実行している間に次にやってほしいことを続けて入力できます。新しいメッセージは送信待ちリストに入って順番に並び、現在のタスクが完了すると続けて実行されます。また、キュー内の任意のメッセージに対していつでもガイド（Steer）をトリガーでき、タスク実行中に方向性を補足したり要求を修正したりできます。

<Note>メッセージキューは Quest でも利用可能です。</Note>

### キュー追加と実行

Agent タスクの実行中に入力ボックスに内容を入力して Enter を押すと、メッセージは新しい項目として送信待ちリストの先頭に現れます。現在のタスクが完了すると、Agent はキュー内のメッセージを順番に自動処理し、リストが空になるとキュー領域は自動的に折りたたまれます。

モードによってキューの実行方式は異なります：

* **Ask、Agent モード**：メッセージはキューに入った後、デフォルトでは現在のラウンドの終了を待ってから順次自動実行されます。キュー内の任意のメッセージの「ガイド」ボタンをいつでもクリックして、Agent に即座に介入させることができます。
* **Experts モード**：Agent が適切なタイミングを判断してキュー内のメッセージを一括取得し引き継ぐため、手動でのガイドは不要です。

### ガイド（Steer）

キュー内のメッセージにある「ガイド」ボタンをクリックすると、その内容を即座に Agent に渡し、実行過程で新しい方向性や修正要求を受け取らせることができます。中断ややり直しのコストを減らせます。

ガイドをトリガーすると、モデルは現在のタスクの進捗を踏まえて、どのようにつなげるかを自律的に判断します。

### キュー内のその他の操作

送信待ちリストのメッセージ項目にカーソルを合わせると、対応する操作の入口が表示されます：

* **ドラッグで並べ替え**：左側のハンドルでメッセージの順序を調整します。新しい順序は即座に反映されます。
* **編集**：メッセージ内容が入力ボックスに戻されます。修正して Enter を押すと対応する項目が更新され、位置はそのまま保持されます。
* **削除**：メッセージをキューから取り除きます。残りのメッセージの順序は変わりません。
