Skip to main content

複数の GitHub Copilot CLI セッションを扱う

一度にいくつかの Copilot CLI セッションを実行し、サイドバーを使用してそれらの間をすばやく移動します。

はじめに

Copilot CLIを開始するたびに、セッションを開始または再開します。 セッションは、あなたと GitHub Copilot の間の会話であり、以下を含むものと考えることができます。

  • プロンプト: Copilot に対して何を求めたか、 Copilot が質問したときに行った返信。
  • Copilotの応答: 回答、説明、コマンド、コードの変更など。
  • 会話コンテキスト: 大きな言語モデルに送信される情報を使用して、プロンプトに適切に応答できるようにします。
  • ツール アクティビティ: Copilot がアクセスしたファイル、実行したコマンド、実行した検索。
  • セッション固有の状態: たとえば、現在の作業ディレクトリ、ファイルシステムのアクセス許可、アクセスの承認、現在のモード (対話型、プラン、オートパイロット)。

一度に 1 つのセッションに制限されるわけではありません。 複数の並列実行を維持し、それらを切り替えることができます。 これは、次の場合に役立ちます。

  • 度に 2 つの作業に取り組みます。たとえば、関連のないバグを別のセッションで修正しながら、1 つのセッションで機能を構築します。
  • 実行時間の長いタスクを待機します。別のセッションで次の変更を計画している間に、1 つのセッションをコンパイルしたり、テスト スイートを実行したり、autopilot で自律的に作業したりできます。
  • 作業の引き渡し - タスクをクラウドに委任し、ローカルで作業を続けている間は目を離しません。

セッションを操作できる場所は 3 つあります。

  • セッションサイドバー: セッションをすばやく切り替えるために、現在の会話の左側にドッキングされたパネル。 これは、アクティブなローカル セッションまたは最近アクティブなローカル セッション間を移動する最速の方法です。
  • [ セッション] タブ: リモート セッションを含む、セッション履歴のより完全な一覧。 リストは検索可能であり、メイン CLI 領域に表示されます。
  • セッション ピッカー: セッション間を切り替えるためのコマンド ライン インターフェイス。/resumeまたは/continueを入力することで、任意のローカル セッションから呼び出すことができます。

セッションサイドバーは、この記事の主な焦点です。

セッションのサイドバー

サイドバーは、現在のチャットと一緒に開くパネルです。 会話を置き換えるのではなくその横に表示されるため、メインCLI領域のCurrentタブを開いている間も、会話のタイムラインとプロンプト入力フィールドは引き続き表示されます。 作業中のセッションを離れることなく、他のセッションを確認できます。

サイドバーを開いたり閉じたりする

会話から、プロンプト入力フィールドに何も表示されない場合は、 を押してサイドバーを開き、そこにフォーカスを移動します。 を押してフォーカスを会話に戻し、もう一度サイドバーを閉じます。 Vimスタイルのキーを使用する場合は、サイドバーにフォーカスがある間は hl が同じように動作します。

セッション間の移動

サイドバーにフォーカスがある状態で、 (または kj)を押してセッション間を移動します。 Enter キーを押して、選択したセッションを開きます。 フォーカスが会話に戻り、プロンプトをすぐに入力できます。

s キーを押して、セッションが一覧表示される順序を変更し、[最近]、[作成済み]、[名前]、[なし] (並べ替えなし) を循環します。

マウスを使用してセッションに切り替えることもできます。 シングルクリックでもダブルクリックでも、セッションに切り替わります。 1 回のクリックでフォーカスが会話に戻り ( Enter キーを押すなど)、ダブルクリックすると、そのセッションが選択された状態でサイドバーにフォーカスが残り、セッション一覧を移動し続けることができます。

セッションの作成と終了

サイドバーから直接セッションを管理できます。

  • n キーを押して新しいセッションを開始します。

  • 強調表示されたセッションを閉じるには、x キーを 2 回押します。

    メモ

    実行中のセッションは、サイドバーから終了、保存、および削除されます。 実行されていないセッションは、サイドバーから単に削除されます。 この方法で削除したセッションは、セッションを再開しない限り、今後のセッションではサイドバーに表示されません (たとえば、 >/resume セッション ピッカーから)。

サイドバーの上部には、 ←(サイドバー を閉じる)と + (新しいセッションを開始する)の2つのヘッダーボタンがあります。 ↑ キーを 押して一覧の上部を越えてこのボタン行に移動し、 Tab キー を押してボタンを切り替え、Enter キーを してアクティブにします。 ボタンを直接クリックすることもできます。

セッションの状態をひとめで確認する

作業中もサイドバーは画面に残るため、セッションステータスボードとして機能します。 どのセッションが該当するかを一目で確認できます:

  • 現在実行中 (実線アイコン: )。
  • CLI の [現在] タブに表示されている 現在 のセッション (強調表示)。
  • 最近使用されましたが、現在は実行されていません (空の円アイコン: )。
  • ターンの処理中にビジー状態 (点滅する円アイコン: ● ◉ ◎ ○)、またはアイドル状態 (静的アイコン)。
  • 注意を待っている (アクセス許可プロンプトの! 、質問の ? )。
  • 特定のモード (プラン モードとオートパイロット モードでは、既定のモードとは異なる色付きのテキストが使用されます)。

サイズ変更とマウス コントロール

セッションをクリックして切り替える以外に、サイドバーと会話の間の区切り線をドラッグしてパネルのサイズを変更し、リストをポイントし、スクロール ホイールを使用してセッションの長いリストを移動できます。

クイック ヘルプの取得

? を押します サイドバーが開いている間に、セッション サイドバーのクイック リファレンス ガイドを確認できます。

完全なサイドバー リファレンスについては、 GITHUB COPILOT CLI コマンド リファレンス を参照してください。

[セッション] タブ

[ セッション ] タブには、セッションが全画面表示で表示されます。 Tab キーを使用して、このタブに切り替えます。または、「/session」と入力します。

[ セッション ] タブには、サイドバーに表示されないいくつかの機能が用意されています。

  • 検索: / 押し、検索するセッションの名前の入力を開始します。
  • スコープ フィルター: a キーを押して、 ローカルリモートおよびすべての セッションの間でリストを循環させます。
  • 完全な履歴: タブは、最近のセッション ストアだけでなく、セッションストア全体をスキャンします。
  • クラウド セッションとリモート セッション: クラウドで実行されたセッションは、再開できるようにここに表示されます。

サイドバーと [セッション] タブの選択

どちらの場所にもセッションが一覧表示されますが、異なるジョブに合わせて調整されます。 サイドバーは、あなたが積極的にジャグリングしているセッションのためのクイックスイッチャーです。 [ セッション ] タブは、完全なライブラリと管理画面です。

Sidebar[セッション] タブ
レイアウト会話の横に固定表示全画面
現在のチャット表示された状態を維持するタブが開いている間は非表示
表示されるセッション最近のローカル セッションとライブ セッションすべての履歴
クラウド/リモート セッションいいえはい
検索いいえはい
スコープ (すべて/ローカル/リモート)いいえ (ローカルのみ)はい
最適な用途コンテキストでの高速切り替え検索、参照、および管理

次の場合はサイドバーを使用します。

  • 会話を続けます。 サイドバーでは、他のセッションが表示されている間、会話のタイムラインが画面に表示されます。 [ セッション ] タブを開くと、現在の会話が完全に非表示になります。
  • すばやく、その場で切り替え。 サイドバーにフォーカスを合わせて、セッション間をすばやく切り替えることができます。
  • 状態を見守る。 サイドバーは画面に留まっているため、セッションの状態とアテンション マーカーを表示できます。セッションを確認するために移動する必要はありません。
  • フローを終了せずに切り替えます。 通常の入力の一部として、方向キーを使用してセッションを開いたり、閉じたり、切り替えることができます。

次の場合は 、[セッション] タブ を使用します。

  • 特定の過去のセッションを検索します。
  • クラウドまたはリモート セッションを再開します。これらはタブにのみ表示されます。
  • 完全な履歴を参照します。サイドバーの最近のリストから削除された古いセッションは、ここでしかアクセスできません。

日常的な作業なら、サイドバーのままでも失うものはほとんどありません。 [セッション] タブに移動せずに、サイドバーでほとんどの セッション 管理を行うことができます。

前のセッションに戻る

セッションは保存されるため、タスクの続行、エージェントの実行内容の確認、または既に構築したコンテキストの再利用など、以前に開始した作業に戻ることができます。

  • サイドバーから: 現在のディレクトリの最近のセッションは再開可能な行 (○ とマークされています) として表示されます。 1 つを強調表示し、 Enter キー を押して開き、もう一度作業を開始します。
  • [セッション] タブから、クラウド セッションを含む完全な履歴を検索または参照し、いずれかのセッションを開きます。
  • セッション ピッカーを使用して、ローカル セッション内で「 /resume (または /continue)」と入力して、保存したセッションを一覧表示するピッカーを表示します。 方向キーを使用してセッションに移動し、 Enter キーを押して開くか、 d してセッションを削除します。 sキーを押すと、リストの並べ替え順を切り替えられます: 関連性(現在の作業ディレクトリにどの程度一致するか)、最後に使用作成日名前

コマンド ラインから Copilot CLI を開始するときにセッションを選択することもできます。

# Resume the most recent session
copilot --continue

# Choose a session to resume
copilot --resume

# Resume a specific session by ID, ID prefix, or exact name
copilot --resume=SESSION-ID
copilot --resume="my feature"

# Name a new session so it is easy to find later
copilot --name "checkout refactor"

アクティブセッションと非アクティブセッション

セッションは、いつでも次の 2 つのいずれかになります。

  • アクティブ: チャット中のセッションでもバックグラウンドで実行されているセッションでも、 Copilot CLI内で現在実行されています。 セッションから切り替えると、停止するのではなく実行が続くので、別のセッションに移動している間は長いタスクが実行されます。 アクティブなセッションは、塗りつぶされた円 () で示されます。
  • 非アクティブ: ディスクに保存されますが、実行されていません。 非アクティブなセッションは、空の円 () で示されます。

ローカル セッションは、実行中の Copilot CLI プロセスが開いたままである限りアクティブなままです。 非アクティブ タイムアウトはありません。アイドル状態のバックグラウンド セッションは自動的に停止されません。 Copilot CLIを終了すると、そのローカル セッションは停止し、非アクティブになります。 これらは引き続き保存されるため、次回再開できます。 セッションがアクティブな間にマシンのスリープを停止するには、 /keep-alive onを使用します。

セッションは リモートで実行することもできます。 /delegate (またはプロンプトに & のプレフィックスを付ける) でタスクを委任すると、Copilotは CLI とは別にバックグラウンドで動作するCopilot cloud agentのGitHubに作業を任せられます。 これらのクラウド セッションは [ セッション ] タブに表示され、再開してローカルで操作できます。 ハンズオフ作業の詳細については、 AUTOTITLE を参照してください。

セッションの停止

現在作業中のセッションを停止するには、 /exit スラッシュ コマンドを使用します。 または、サイドバーを強調表示して x キーを押して、サイドバーからセッションを停止することもできます。 これにより、セッションが停止し、再開するまでサイドバーから削除されます。

セッションを停止しても、セッションは削除されません。 セッションが保存され、後で再開できます。

セッションを停止する必要はありません。 そのまま実行しておけば、元のコンテキストを保ったまま即座に切り替えられます。 ただし、1 つを停止して不要になった作業を停止する場合があります。たとえば、自動パイロット モードで実行されているセッションや、 /every または /afterでスケジュールしたプロンプトを実行しているセッションなどです。 また、セッションを停止してメモリを解放したり、サイドバーの乱雑さを減らしたりすることもできます。

セッション スラッシュ コマンド

任意のセッション内からスラッシュ コマンドを使用してセッションを管理できます。

命令それが何をするか
/new新しいセッションを開始します。
/resume [SESSION-ID]/continueピッカーから選択して別のセッションに切り替えます (または ID を渡します)。
/rename [NAME]現在のセッションの名前を変更します(名前を指定しない場合は自動生成されます)。
/session[ セッション ] タブを開きます。
/session info現在のセッションに関する詳細を表示します。
/session id現在のセッション ID を表示し、クリップボードにコピーします。
/session filesこのセッションで変更されたファイルを一覧表示します。
/session plan現在のプランを表示します。
/session checkpoints [N]セッションのチェックポイントを表示します。
/session cleanup/session prune古いまたは期限切れのセッションデータのクリーンアップ。
/session delete [ID]/session delete-allセッションまたはそのすべてを削除します。
/exit/quit現在のセッションを閉じます。 他にも開いているものがある場合は、そのうち最新のものが前面に表示されます。 CLI は、最後のセッションを閉じたときにのみ終了します。

サイドバーのカスタマイズ

サイドバーは既定で使用できます。 対話型セッションでさまざまな /settings sidebar.* スラッシュ コマンドを使用して、開く機能をオフにしたり、動作のさまざまな側面を変更したりできます。 たとえば、サイドバーの各セッションで閉じるボタンを有効にしたり、現在のフォーカス (会話またはサイドバー) をマウス ポインターの位置に合わせることもできます。

サイドバーの設定とその既定値の完全な一覧については、 GITHUB COPILOT CLI コマンド リファレンス を参照してください。

参考情報: