# GitHub Copilot CLIをVS Codeに接続する

Copilot CLIをVS Codeに接続して、コンテキスト、信頼設定、出力を共有します。

Copilot CLIをVS Codeに接続すると、ターミナル ベースのワークフローの速度と柔軟性とエディターの豊富なビジュアル ツールの組み合わせという、両方の環境の長所が得られます。 接続が確立されると、次のことができます。

* **エディターの選択をコンテキストとして使用** する - VS Code でコードを選択し、CLI プロンプトで直接参照します。ファイル パスや行番号を指定する必要はありません。
* **提案された変更を差分として確認** する — Copilot がファイル編集を提案すると、各変更を視覚的に確認、承認、または拒否できるように、 VS Code でサイド バイ サイドの差分として表示されます。
* **Surfaceライブ診断** — Copilot は、VS Code からリアルタイムのエラーと警告にアクセスできるため、エディターが既に検出した問題を見つけて修正できます。
* **ツール間でセッションを取得** する — VS Code で CLI セッショントランスクリプトを表示し、コンテキストを失うことなく統合ターミナルで再開します。

## 接続中 VS Code

Copilot CLI は、CLI セッションを開始するときに VS Code に自動的に接続できます。 さらに、対話型セッション中に、ローカル コンピューター上の VS Code で現在開いているワークスペースに接続することを選択できます。

### 起動時の自動接続

Copilot CLIを開始すると、CLI を開始した現在の作業ディレクトリが、信頼モードで開いているワークスペース フォルダーVS Code一致するかどうかを確認します。 一致するものがある場合、CLI は関連する VS Code インスタンスに接続します。 接続は、 Copilot CLIを使用している場所( VS Codeの組み込みターミナル内、または別のウィンドウで実行されている外部ターミナル アプリケーション)に関係なく発生します。

Copilot CLIが VS Code に正常に接続された場合、起動時に表示される環境メッセージには、"Visual Studio Code 接続済み" または "Visual Studio Code - Insider 接続済み" が含まれます。

複数の VS Code ウィンドウで同じワークスペースを開いている場合、CLI は自動的にいずれかのワークスペースに接続します。 複数の IDE インスタンスに同時に接続することはできません。
VS Codeの別のインスタンスに接続する場合は、`/ide` コマンドを使用して切り替えることができます。

> \[!NOTE]
> GitHub Codespacesを使用している場合、ローカルで実行されている CLI セッションは、リモート コードスペースで実行されているVS Code ワークスペースに接続できません。 ただし、コードスペース内 (つまり、 VS Codeの組み込みターミナル内、またはリモート コードスペース ホスト上の SSH セッション) 内で CLI を使用する場合は、接続できます。

### 対話型セッション中の手動接続

VS Codeを開始した後、Copilot CLIでワークスペースを開いた場合、または開いているワークスペースと一致しないディレクトリから CLI を開始した場合は、`/ide`スラッシュ コマンドを使用して、VS Code ワークスペースに手動で接続できます。 接続するワークスペースは、現在、 VS Codeで信頼モードで開かれている必要があります。

## `/ide` スラッシュ コマンドを使用した接続の管理

対話型の`/ide` セッションで Copilot CLI スラッシュ コマンドを使用して、次の操作を行います。

* 現在接続されているワークスペースを確認する場合など、現在の接続状態を**表示**します。
* 別の\*\*\*\* ワークスペースにVS Codeします。
* ```
            **VS Code から ** を接続解除します。
  ```

`/ide` メニューから次の設定を切り替えることもできます。

* **一致する IDE ワークスペースに自動接続**します。CLI が起動時に一致する VS Code ワークスペースに自動的に接続するかどうかを制御します。
* **IDE でファイル編集の差分を開きます**。提案されたファイル変更を VS Code エディター タブに差分として表示するかどうかを制御します。

## プロンプトでの VS Code コンテキストの使用

Copilot CLIがVS Codeに接続されると、選択内容が変更されるたびに、現在のエディターの選択を受け取ります。 選択内容は、CLI のプロンプトの下に右揃えで表示されます。 この選択インジケーターは、 VS Codeで別のコードを選択するたびに更新されます。

これにより、 VS Code でコードを選択し、次のようなプロンプトを使用できます。

```copilot
Debug this
```

または、いくつかのコードを選択して、ファイル全体について Copilot 問い合わせることもできます。

```copilot
Explain this file
```

## ファイルの変更を差分として確認する

ワークスペース内のファイルを変更するように Copilot に依頼すると、 VS Code 新しいエディター タブに提案された変更が差分として表示されます。これにより、 Copilot が提案している内容を簡単に確認できます。 変更を適用または破棄するには、差分ビューの右上にある同意 (✓) または拒否 (✗) ボタンを使用します。 差分を承諾または拒否すると、保留中のファイル編集アクセス許可が解決され、CLI はワークフローを続行します。

> \[!NOTE]
> \*
> Copilotまたは`--allow-all`コマンド ライン オプションの使用、`--yolo`またはスラッシュ コマンドの使用など、`/allow-all``/yolo`が承認なしでファイルを編集することを許可している場合、差分ビューは表示されません。 代わりに、提案された変更は差分を表示せずにワークスペース内のファイルに直接適用され、CLI は更新されたファイルの内容をすぐに続行します。
> \*
> VS Codeの差分ビューを使用しない場合は、`/ide` メニューでこの機能をオフにすることができます。 これをオフにすると、提案されたファイルの変更が CLI に表示されます。

## VS Code での CLI セッションの表示と再開

Copilot CLI内から、現在のワークスペースの任意のVS Code セッションのトランスクリプトを読み取ることができます。

1. <c2>の<c1>チャット</c1>サイドバーを開きます。

2. \[チャット] パネルの右上にある \[セッション] アイコン (<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" aria-hidden="true" style="vertical-align: middle;"><path d="M12.5 1H3.5C2.122 1 1 2.122 1 3.5V12.5C1 13.879 2.122 15 3.5 15H12.5C13.878 15 15 13.879 15 12.5V3.5C15 2.122 13.878 1 12.5 1ZM2 12.5V3.5C2 2.673 2.673 2 3.5 2H9V14H3.5C2.673 14 2 13.327 2 12.5ZM14 12.5C14 13.327 13.327 14 12.5 14H10V2H12.5C13.327 2 14 2.673 14 3.5V12.5Z"/></svg>) をクリックして、\[セッション] ビューを表示します。

   \[セッション] ビューには、最新の Copilot セッションが一覧表示され、最新のセッションが一番上に表示されます。

3. セッションをクリックして、完全な入力テキストと出力テキストを読み取ります。 CLI セッションの場合、トランスクリプトは、そのセッション中にターミナルに表示されたものと同じです。

\[セッション] ビューでまだ表示していない現在のワークスペースに対して CLI セッションを実行している場合は、 VS Code タイトル バーのチャット アイコンの横にドット アイコンと未読数が表示されます。 これをクリックして、未読セッションのフィルター処理された一覧を切り替えます。 もう一度クリックしてフィルターをクリアし、すべてのセッションを表示します。

![VS Code の未読セッション インジケーターのスクリーンショット。](/assets/images/help/copilot/copilot-cli-vscode-unread-session.png)

VS Code統合ターミナルで CLI セッションを続行するには、\[セッション] ビューでセッションを右クリックし、\[**ターミナルで再開**] を選択します。 これは、セッション コンテキストを失うことなく、外部ターミナル ウィンドウから作業を簡単に取得する方法です。

## 詳細については、次を参照してください。

* [GitHub Copilot CLI](/ja/copilot/how-tos/copilot-cli)