エージェントは変更の大部分を完了しています。次に、実装の詳細を一つ確認し、数行を手動で調整して、出荷前にプロジェクトをローカルで実行したいところです。
しかし、その作品は中に置かれたままとなっている。 GitHub Copilotアプリ…そしてエディターは、diffの確認、コードのデバッグ、最終調整を行う場所です。セッションにとどまることと、Visual Studio Codeで最初からやり直すことのどちらかを選ばなければならないのでしょうか?
その必要はありません。CopilotアプリのセッションをVS Codeで直接開き、会話、コードの変更、作業コンテキストをそのまま引き継いで続行できます。つまり、Copilotに繰り返しの多い作業や時間のかかる作業を任せ、その後、より詳細なレビュー、直接の編集、ローカルでのテストのために制御をあなたの手に戻すことができるのです。
このチュートリアルでは、次のことを学びます:
- VS CodeでCopilotアプリのセッションを開きます。
- エージェントの変更内容を1行ずつ確認しましょう。
- エディターから同じ会話を続けてください。
- コードをローカルで修正し、テストしてください。
- セッションに関連付けられたプルリクエストへ更新をプッシュしてください。
1. Copilotアプリでセッションを開始します
続行したいセッションを開いてください。引き継ぐ前に、タスクとCopilotが完了した作業をひととおり確認しておきましょう。
セッションには、変更されたファイルの集まり以上のものが含まれています。そこには、その変更を生み出したタスク、計画、そして会話も記録されています。Copilot がなぜ特定の実装を選んだのかを理解したいときや、作業の一部を修正させたいときに、その文脈が重要になります。
その履歴を要約したり、VS Code に移行する前に新しいチャットにコピーしたりする必要はありません。
2. VS Codeでセッションを開く
セッションから次を選択します VS Codeで開く。アプリが複数の対応エディターや VS Code のインストールを提示した場合は、使用したいものを選択してください。
VS Codeはセッションに関連付けられたワークツリーを使ってプロジェクトを開きます。また、Copilotサイドバーに既存のセッションも表示します。
これにより、原作の連結した3つの要素が得られます:
- セッションのコンテキスト: タスク、プラン、および会話は引き続き利用可能です。
- 差分: エージェントによって変更されたファイルと行は、レビューの準備ができています。
- ワークツリー: VS Codeは、セッションが使用していたのと同じ分離された作業ツリーを開きます。
あなたは既存のセッションを継続しているのであって、新しいエディターウィンドウでそれを作り直しているのではありません。
3. エージェントによる変更内容を確認する
編集する前に、VS Codeで差分を確認してください。ソース管理ビューを開いて変更されたファイルを表示し、ファイルを選択してその変更を1行ずつ確認します。
実装を、他の提案された変更と同様にレビューしてください。特に、以下の点を確認してください:
- コードが要求された問題を解決していること。
- 実装がリポジトリの規約に従っていること。
- エラー状態やエッジケースが適切に処理されていること。
- 変更された動作がテストでカバーされていること。
- 無関係なファイルや動作が変更されていないこと。
保存された会話を見れば、Copilotがその実装にどのように至ったのかを理解するのに役立ちます。不明な点があれば、サイドバーでCopilotへのプロンプトを続けてください。例:
Explain why you changed this function instead of adding a new helper. Identify any behavior this could affect.
Copilotに別の変更を依頼することもできます。セッションとワークツリーは接続されたままなので、タスクを最初から説明し直す必要はありません。
4. 手を動かして編集する
提案された変更を理解したら、VS Codeで任意のファイルを直接編集します。
これは、手作業で行った方が速い、または簡単な調整に役立ちます。例:
- ラベルやエラーメッセージの推敲。
- わかりやすくするための変数名の変更。
- レイアウトやスタイルの調整。
- 不足しているテストケースの追加。
- リポジトリ固有の規約の適用。
編集先はセッションの既存のワークツリーなので、手動の変更はエージェントの作業の上に直接積み重なります。ディレクトリ間でファイルをコピーしたり、ブランチを手動で再作成したりする必要はありません。
5. プロジェクトをローカルで実行して検証する
VS Codeの統合ターミナルを使って、プロジェクトの通常の検証ワークフローを実行します。正確なコマンドはリポジトリによって異なりますが、Webアプリの例では次のようなものが含まれる場合があります:
npm installnpm testnpm run lintnpm run dev
エージェントが生成した変更は、人が書いたコードと同じように扱ってください。関連するテストを実行し、失敗を調べ、動作を自分で確認します。
開発サーバーがlocalhostのURLを出力した場合は、それを開いてブラウザで変更をテストします。VS Codeのセットアップが対応している場合は、VS Codeの統合ブラウザでURLを開き、エディタを離れずに結果を確認できます。
ユーザーインターフェースの変更については、要求された動作とその周辺の状態の両方を確認してください。たとえば、変更したコンポーネントをさまざまなビューポートサイズで確認し、ロード中、空、エラーの各状態がまだ機能することを確かめます。
6. Copilotで続けるか、自分で編集を続ける
どの時点でも、次のステップに最も合ったやり取りの方法を選択できます:
- 変更にリポジトリ全体の分析や反復的な編集が必要な場合は、Copilotにプロンプトを出します。
- 求める正確な変更がわかっている場合は、直接編集します。
- 実装をテストしながら洗練させていく過程では、両方のアプローチを繰り返し使い分けます。
たとえば、手動でUIを調整した後、Copilotに次のように依頼できます:
更新されたラベルのテストを追加し、関連するテストファイルを実行してください。無関係なコンポーネントは変更しないでください。
まだ元のセッション内にいるため、Copilotは「更新されたラベル」を解釈するのに必要なコンテキストを保持しています。
7. 完成した変更をコミットしてプッシュする
実装が整ったら、最終的なdiffをもう一度確認します。その後、ソース管理ビューまたは統合ターミナルを使って変更をコミットし、プッシュします:
git statusgit addgit commit -m "Refine session changes"git push
リポジトリで普段使っているブランチ、コミット、レビュー、承認の慣行をそのまま利用してください。VS Code がセッションに関連付けられたワークツリーとブランチを開いているため、ブランチをプッシュすると、その作業をすでに追跡しているプルリクエストが更新されます。
完成したファイルを別のチェックアウトにコピーしたり、作業を手動でプルリクエストに再接続したりする必要はありません。
エージェントからエディターへの連続したワークフロー
VS CodeでCopilotアプリのセッションを開くと、作業自体を分けることなく、きれいに役割分担ができます。Copilotは大規模な実装や繰り返しの多い実装を担当でき、その一方であなたはエディターに移って詳細なレビュー、ピンポイントの変更、ローカルでのテスト、最終的な仕上げを行えます。
セッション、diff、worktree はあなたと共に移動します。まず Copilot アプリで作業を指示し、直接コントロールしたいときはいつでも VS Code に切り替え、完成した結果を同じプルリクエストのワークフローを通じてプッシュします。
試してみる準備はできましたか? GitHub Copilot アプリをダウンロードする、セッションを開始し、コーディングを続行する準備ができたら VS Code で開いてください。
この投稿 VS CodeでGitHub Copilotアプリのセッションを継続する方法 初出: The GitHub Blog.
