VS Code でチャットセッションを操作する
Visual Studio Code でチャットを使用して、会話ベースの AI インラクションを行います。チャットセッションは、あなたと AI の間のプロンプトと応答のシーケンス、およびコードやファイルからの関連コンテキストで構成されます。この記事では、チャットセッションの作成と管理、セッション一覧の使用方法、およびセッションの整理方法について説明します。これらの機能は、チャットビューとエージェントウィンドウの両方で動作します。
新しいチャットセッションを開始する
新しいチャットセッションを開始すると、AI との新しい会話が始まります。各セッションには独自のコンテキストウィンドウがあり、異なるエージェントタイプで実行できます。それぞれ異なるタスクやトピックに焦点を当てた複数のセッションを並行して実行できます。セッション一覧を使用して、さまざまなセッションの監視や切り替えを行います。
AI がより関連性の高い応答を提供しやすくするために、トピックを変更したい場合は、新しいチャットセッションを開始してください。
好みの作業方法や達成したいタスクに応じて、VS Code のさまざまなチャットエクスペリエンスから選択できます。各エクスペリエンスは異なるワークフローに最適化されていますが、基盤となるセッションは共通しているため、いつでも切り替えることができます。
エージェントウィンドウは、1つの場所から複数のプロジェクトにわたるエージェントをオーケストレートするための専用ウィンドウです。チャットは、エージェントに高レベルのタスクを割り当てるための主要なインターフェイスです。エージェントウィンドウは、エージェントファーストのワークフローに最適化されています。

エージェントウィンドウで新しいチャットセッションを開始するには
-
VS Code のタイトルバーにある [Open in Agents] ボタンを選択して、エージェントウィンドウを開きます。
-
サイドバーで [New] を選択して、新しいセッションを作成します。
-
エージェントウィンドウは任意のプロジェクトをターゲットにできるため、セッションのワークスペースまたはリポジトリを選択します。
-
エージェントセッションがどこで実行され、どのように動作するかを示すために、ドロップダウンからエージェントタイプを選択します。
ローカル、Copilot、クラウド、またはサードパーティから選択できます。エージェントタイプの詳細については、こちらをご覧ください。
-
必要に応じて、セッションの追加の設定オプションを選択します。
-
Agent(エージェント): Agent、Plan、Ask など、AI の役割やペルソナを決定します。エージェントの選択の詳細については、こちらをご覧ください。
-
Permission level(権限レベル): ツールの承認に関してエージェントが持つ自律性の度合いを制御します。権限レベルの詳細については、こちらをご覧ください。
-
Language model(言語モデル): 会話を駆動する AI モデルを決定します。VS Code の言語モデルの詳細については、こちらをご覧ください。
エージェントウィンドウで別の新しいセッションを作成するとき、ピッカーは前回選択した Agent および Permission level の値を記憶し、それらをデフォルトとして使用します。
-
-
プロンプトを入力し、Enter キーを押して送信します。エージェントの応答がチャット領域に表示され、エージェントはファイルの編集、コマンドの実行、フォローアップの質問などのアクションを実行する場合があります。
チャットビューは、ワークスペースエディタータブの横のサイドバーに配置されるチャットパネルです。エージェントがコーディングタスクを支援する一方で、VS Code の豊富なコーディング機能をフルに活用できます。チャットビューは、コードファーストのワークフローに最適化されています。

チャットビューで新しいチャットセッションを開始するには
-
VS Code のタイトルバーにある [Chat] アイコンを選択して、チャットビューを開きます。
-
[New Chat](
+)ボタンを選択して、空のセッションを作成します。セッションのスコープは現在のワークスペースになるため、ワークスペースが開いている場合、セッションはそのワークスペースに自動的にリンクされます。
-
エージェントセッションがどこで実行され、どのような機能にアクセスできるかを決定するために、エージェントタイプを選択します。
ローカル、Copilot、クラウド、またはサードパーティから選択できます。エージェントタイプの詳細については、こちらをご覧ください。
-
必要に応じて、セッションの追加の設定オプションを選択します。
-
Agent(エージェント): Agent、Plan、Ask など、AI の役割やペルソナを決定します。エージェントの選択の詳細については、こちらをご覧ください。
-
Permission level(権限レベル): ツールの承認に関してエージェントが持つ自律性の度合いを制御します。権限レベルの詳細については、こちらをご覧ください。
-
Language model(言語モデル): 会話を駆動する AI モデルを決定します。VS Code の言語モデルの詳細については、こちらをご覧ください。
-
-
プロンプトを入力し、Enter キーを押して送信します。エージェントの応答がチャット領域に表示され、エージェントはファイルの編集、コマンドの実行、フォローアップの質問などのアクションを実行する場合があります。
セッション一覧
セッション一覧は、どこで開始されたか、どこで実行されているかに関係なく、すべてのチャットセッションを管理するための中央ハブです。セッション一覧には、セッションのステータス、タイプ、およびファイル変更に関する情報とともにセッションが表示されます。

セッションにマウスオーバーすると、ピン留めまたはアーカイブするためのアクションが表示されます。一覧内のセッションを右クリックすると、削除やセッションの状態変更などの追加のアクションが表示されます。一部のアクションは、セッションのエージェントタイプと状態に固有のものがあります。たとえば、クラウドエージェントセッションのプルリクエストをチェックアウトするなどです。
ピン留めアクションを使用すると、重要なセッションをリストの最上部に簡単にアクセスできる状態に保つことができます。ピン留めされたセッションは、アクティビティや状態に関係なくリストの最上部に留まるため、素早く見つけて戻ることができます。
エージェントウィンドウでは、セッション一覧は左側のサイドバーにあります。すべてのワークスペースからのセッションが表示されるため、1つの場所から複数のプロジェクトにわたる作業を監視できます。各セッションアイテムには、セッション名、ワークスペース、エージェントタイプ、ファイル変更の統計などの重要な情報が表示されます。

デフォルトでは、リストはアクティブなセッションのみを表示するようにフィルター処理されます。完了やアーカイブなど、異なる状態のセッションを表示するようにフィルターを変更できます。
セッションはデフォルトでワークスペースごとにグループ化されており、代わりに時間枠ごとに整理するようにグループ化を切り替えることができます。エージェントウィンドウでは、関連するセッションをまとめておくためのカスタムグループを作成することもできます。セッション一覧を縮小したい場合は、グループヘッダーを折りたたみます。
エージェントウィンドウでセッション一覧を整理するには
-
セッション一覧のコントロールからカスタムグループを作成します。
-
1つまたは複数のセッションをグループにドラッグします。挿入線によって、セッションが配置される位置が表示されます。
-
グループヘッダーにマウスオーバーして、そのグループで新しいセッションを開始するか、グループ内のすべてのセッションを完了としてマークします。
また、セッションを上下にドラッグして並べ替えたり、グループおよびワークスペースのヘッダーをドラッグしてセクションを再配置したり、セッションを [Pinned] セクションにドロップしてピン留めしたりすることもできます。複数のセッションを選択してまとめて移動することも可能です。
エージェントウィンドウの左上隅にある [Toggle Sidebar] ボタンを選択するか、⌘B (Windows, Linux Ctrl+B) キーボードショートカットを使用して、左側のサイドバーを非表示にすることができます。
チャットビューでは、セッション一覧のスコープは現在のワークスペースに限定され、[Today](今日)や [Last Week](先週)などの期間ごとにセッションがグループ化されます。ワークスペースが開いていない場合、リストにはすべてのワークスペースのすべてのセッションが表示されます。
デフォルトでは、リストはアクティブなセッションのみを表示するようにフィルター処理されます。完了やアーカイブなど、異なる状態のセッションを表示するようにフィルターを変更できます。
チャットビューからセッションリストを非表示にするには、空のチャット内で右クリックして [Show Sessions] のチェックを外すか、 chat.viewSessions.enabled 設定を使用します。
チャットビューは、「コンパクト」と「サイドバイサイド」の2つのモードで動作します。チャットビューの右上隅にあるトグルコントロールを使用して、コンパクトモードとサイドバイサイドモードを手動で切り替えることができます。
-
Compact(コンパクト): セッションのリストがチャットビューに埋め込まれます。リストからセッションを選択すると、チャットビューがそのセッションに切り替わります。戻るボタンを使用してセッション一覧に戻ります。
-
Side-by-side(サイドバイサイド): セッションのリストがチャットビューと並べて表示されます。リストからセッションを選択すると、チャットビューでその詳細が表示されます。 chat.viewSessions.orientation 設定を使用して、向きをさらに構成できます。
拡張機能の開発者は、提案された API chatSessionsProvider を使用して、セッションビューと統合する方法を学ぶことができます。この API は現在提案段階であり、変更される可能性があります。
セッションをアーカイブする
セッション一覧を整理された状態に保つため、セッションが完了したときや不要になったときは、アーカイブするか完了としてマークします。セッションをアーカイブしても削除されません。いつでもセッションのアーカイブを解除して、アクティブなセッション一覧に復元できます。
セッションをアーカイブ(または完了としてマーク)すると、ステータスが変わり、アクティブなセッション一覧から移動します。Copilot セッションのようにセッションがワークツリーを使用している場合、作業ツリーがクリーンであれば、ワークツリーはファイルシステムから削除されます。ブランチとすべてのコミットは保持されるため、セッションを復元するとそのブランチからワークツリーが再作成され、作業が失われることはありません。
セッションをアーカイブするには、セッション一覧でセッションにマウスオーバーし、[Archive](チャットビュー)または [Mark as Done](エージェントウィンドウ)オプションを選択します。

アーカイブされたセッションを表示するには、セッション一覧のフィルターオプションを使用し、[Archived](チャットビュー)または [Done](エージェントウィンドウ)フィルターを選択します。
セッションを削除する
セッションを完全に削除するには、セッション一覧でセッションを右クリックし、[Delete] を選択します。セッションを削除すると完全に削除され、元に戻すことはできません。Copilot セッションの場合、セッションを削除すると、そのセッションのために作成された関連するワークツリーもすべて削除されます。
セッションをフォークした後など、複数の Copilot セッションが同じワークツリーを共有している場合、別のセッションがまだ使用している間は、1つのセッションを削除しても共有ワークツリーは削除されません。ワークツリーは、最後にリンクされたセッションが削除またはアーカイブされた後にのみ削除されます。
セッションの削除は元に戻せません。セッションを非表示にしたいだけの場合は、代わりにアーカイブすることを検討してください。
チャットセッションをフォークする
チャットセッションのフォークは、元のセッションから会話履歴を継承する会話のブランチを作成します。シングルチャットセッションやエージェントホストを使用しないセッションでは、フォークは新しい独立したセッションとして開きます。フォークされたセッションは元とは完全に切り離されているため、一方のセッションでの変更がもう一方に影響することはありません。識別しやすくするために、新しいセッションタイトルの先頭には "Forked:" というプレフィックスが付けられます。
エージェントウィンドウでのマルチチャット Copilot セッションの場合、フォークは同じセッション内のピアチャットとして開きます。ピアチャットには自動生成されたタイトルが付けられ、シブリングチャットとは独立して実行されます。
ワークツリー分離を使用する Copilot セッションの場合、フォークは元のセッションと同じワークツリーを引き続き使用します。
フォークは、代替アプローチを検討したい場合、ちょっとした質問をしたい場合、または元のコンテキストを失うことなく長い会話を別の方向に分岐させたい場合に便利です。
チャットセッションをフォークするには2つの方法があります。
-
セッション全体をフォークする: チャット入力ボックスに
/forkと入力し、Enter キーを押します。現在のセッションからコピーされた完全な会話履歴とともにフォークが開きます。 -
チェックポイントからフォークする: 会話内のチャットリクエストにマウスオーバーし、[Fork Conversation] ボタンを選択します。フォークには、そのチェックポイントまでの(チェックポイントを含む)リクエストのみが含まれます。

フォークされたセッションは元の会話履歴を継承するため、プロンプトキャッシュが保持され、次のリクエストのコストが削減されます。キャッシュエクスプローラーを使用して、セッション間のキャッシュヒット率を比較できます。
エージェントホストセッションからセッションをオーケストレートする
Copilot、Claude、Codexなどのエージェントホストセッションでは、エージェントは組み込みのセッション管理ツールを使用して、複数のセッションやチャットにわたる作業を調整できます。
これらのツールを使用することで、エージェントは次のことができます。
- セッションを一覧表示し、ステータス、ワークスペース、ファイル変更などのメタデータを調査する。
- サブタスク用の新しいセッションを作成するか、既存のセッションに新しいチャットを作成する。
- 作業を続行する前に、別のセッションから最近の会話コンテキストを読み取る。
- フォローアップタスクを開始または誘導するために、別のセッションやチャットにメッセージを送信する。
ツールがセッションを作成またはターゲットにすると、VS Code はチャットに [Open Session] ピルを表示し、そこに直接ジャンプできるようにします。
このワークフローを安全かつ予測可能に保つために、以下の制限があります。
- 別のセッションへのメッセージ送信には、常にあなたの確認が必要です。
- エージェントは、現在実行中の同じチャットにメッセージを送信することはできません。
- 無制限のファンアウトを防ぐため、バースト送信には上限が設けられています。
- 明示的に要求されない限り、アーカイブされたセッションは一覧から除外されます。
チャットセッションの保存とエクスポート
チャットセッションを保存して、重要な会話を保持したり、同様のタスクのために後で再利用したりできます。
チャットセッションを JSON ファイルとしてエクスポートする
チャットセッションをエクスポートして、後で参照できるように保存したり、他の人と共有したりできます。チャットセッションをエクスポートすると、セッションからのすべてのプロンプトと応答を含む JSON ファイルが作成されます。
チャットセッションをエクスポートするには
-
チャットビューでエクスポートするチャットセッションを開きます。
-
コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) から [Chat: Export Chat...] コマンドを実行します。
-
JSONファイルを保存する場所を選択します。
チャットメッセージを Markdown としてコピーする
チャットビューでは、メッセージやチャットの背景を右クリックしたときのコンテキストメニューから利用できる、チャットメッセージを Markdown としてクリップボードにコピーするためのさまざまなオプションがサポートされています。
-
Copy(コピー): 個々のプロンプトまたは応答をクリップボードにコピーします。Markdown には、応答テキスト、思考ステップ、ツール呼び出しが含まれます。
-
Copy All(すべてコピー): すべてのプロンプト、応答、思考ステップ、ツール呼び出しを含め、チャットセッション全体を Markdown 形式でコピーします。
-
Copy Final Response(最終応答のコピー): 最後のツール呼び出し以降のエージェントの応答の最終 Markdown セクションのみをコピーします。これは、中間のステップを含めずに最終出力を共有または再利用する場合に便利です。
セッションステータスインジケーター(実験的)
セッションステータスインジケーターを使用すると、タイトルバーのコマンドセンターから直接セッションに素早くアクセスできます。インジケーターには、未読メッセージや進行中のセッションの視覚的なバッジが表示されるため、ビューを切り替えることなく AI のアクティビティを常に把握できます。

インジケーターには以下が表示されます。
- 未読セッションバッジ: 新しいメッセージがあるチャットセッションの数を示します。バッジを選択すると、セッション一覧が未読セッションのみを表示するようにフィルターされます。
- 進行中セッションバッジ: エージェントが実行中のセッションの数を示します。バッジを選択すると、セッション一覧が進行中のセッションのみを表示するようにフィルターされます。
- スパークルのアイコン: チャットおよびセッション管理オプションへのクイックアクセスを提供します。
ステータスインジケーターの表示/非表示は、 chat.agentsControl.enabled 設定を使用して構成できます。
VS Code のウェルカムページでセッションを表示する
VS Code のウェルカムページを、チャットセッションを操作するための起動エクスペリエンスとして機能させることができます。最近のチャットセッションへのクイックアクセス、新しいタスクを開始するための埋め込みチャットウィジェット、および一般的なタスクのクイックアクションを提供します。
VS Code のウェルカムページを起動エクスペリエンスとして構成するには、 workbench.startupEditor を agentSessionsWelcomePage に設定します。