GitHub Copilot チャットを使用してコードを生成する

完了

Visual Studio Code の GitHub Copilot Chat 拡張機能では、次のチャット インターフェイスがサポートされています。

  • チャット ビューには、いつでも役立つ AI アシスタントが用意されています。

  • [クイック チャット] ウィンドウを使用すると、簡単な質問をして、自分の作業に戻ることができます。

  • インライン チャット インターフェイスは、コーディング中にコンテキスト操作のためにエディターで直接開きます。

[チャット] ビューと [クイック チャット] ウィンドウを使用すると、AI との対話型のマルチターン会話が可能になります。 どちらのインターフェイスも、質問をしたり、コーディングの問題に関するヘルプを表示したり、コードを生成したりするための方法を提供します。 チャット ビューは、完全なチャット エクスペリエンスを提供するより堅牢なインターフェイスですが、クイック チャット ウィンドウは迅速な対話のために設計されています。

インライン チャット インターフェイスは、コーディング中にコンテキストヘルプとコード候補を提供するように設計されています。 インライン チャット インターフェイスはエディターで使用でき、質問したり、特定のコード スニペットに関するヘルプを表示したりできます。

チャット ビューを使用してコードを生成する

チャット ビューには、ユーザーと AI ペア プログラマの間の会話用のマネージド環境が用意されています。 チャット ビューを使用すると、質問したり、コーディングの問題に関するヘルプを表示したり、コードを生成したりできます。 チャット ビューは、インライン チャット インターフェイスよりも対話型で会話的なエクスペリエンスを実現するように設計されています。

既定では、チャット ビューは、Visual Studio Code ウィンドウの右側にあるセカンダリ サイド バーにあります。

チャット ビューでは、AskPlan、Agent の 3 つの組み込みエージェントがサポートされています。 チャット ビューのエージェント ピッカーからエージェントを選択できます。

Ask エージェントを使用してコードを生成する

Ask エージェントは、コードの実装を提案する前に、コードを分析し、新機能のオプションを調査するのに役立ちます。 Ask エージェントを使用する場合、GitHub Copilotは会話アシスタントとして機能し、質問に対する回答を提供し、問題や新機能のコーディングに役立ちます。

  1. チャット ビューを開き、エージェント ピッカーから [Ask ] を選択します。

  2. チャットにコンテキストを追加します。

    Ask エージェントは、チャット参加者、スラッシュ コマンド、チャット変数をサポートしています。 @workspaceチャット参加者または#codebaseをチャットに追加して、ファイルやフォルダーと共にコンテキストを提供できます。

  3. 実装する新機能を評価するのに役立つ質問をします。

    たとえば、新しい機能を実装する方法や特定のライブラリの使用方法を理解するのに役立つGitHub Copilotを依頼できます。

    • ログイン ページを追加する方法
    • React を使用するためのベスト プラクティスは何ですか?
    • @mui/material ライブラリの使用方法
  4. 実装するコード機能を説明するプロンプトを作成します。

    プロンプトには、実装するコード機能の説明が含まれている必要があります。 例えば次が挙げられます。

    Create the code to obtain a book title. Prompt the user to "Enter a book title to search for". Read the user input and ensure the book title isn't null.
    
  5. チャット ビューで推奨されるコードを確認します。

    チャット ビューに表示される応答には、機能の実装に使用できるコード スニペットが含まれている必要があります。 その他のプロンプトを入力して、コードを調整したり、詳細を確認したりできます。

  6. 推奨されるコードを実装するには、コード スニペットの上にマウス ポインターを置き、[ 適用]、[ 挿入]、および [コピー ] オプションを選択します。

    • 適用: エディターの現在のファイルにコード候補を適用します。
    • 挿入: エディターの現在のカーソル位置にコード候補を挿入します。
    • コピー: コード候補をクリップボードにコピーします。

    コードの更新を提案する Ask エージェントを含むチャット ビューを示すスクリーンショット。

  7. 必要に応じて、さらに多くのプロンプトを表示して、新しい機能の反復処理と調整を続けます。

プラン エージェントを使用してコーディングする前に計画する

Plan エージェントは、コードを記述する前にタスクを調査および計画するのに役立ちます。 Plan エージェントを使用する場合、GitHub Copilotはコードベースを分析し、明確な質問を行い、構造化された段階的な実装計画を作成します。 プランが完成したら、実装エージェントに渡すことができます。

  1. チャット ビューを開き、エージェント ピッカーから [プラン ] を選択します。

  2. チャットにコンテキストを追加します。

    Plan エージェントは、読み取り専用ツールとコードベース分析を使用してタスクを調査します。 チャットにファイルとフォルダーを追加して、追加のコンテキストを提供できます。

  3. 計画するタスクを説明するプロンプトを作成します。

    プロンプトには、実装する機能またはタスクの説明が含まれている必要があります。 例えば次が挙げられます。

    
    Implement a user authentication system with OAuth2 and JWT.
    
    
  4. Plan エージェントが尋ねる明確な質問に回答します。

    プラン エージェントは、タスクを調査し、計画を作成する前にあいまいさを解決するための質問をする場合があります。

  5. 提案された計画を確認します。

    Plan エージェントは、概要、実装手順の内訳、検証基準、文書化された意思決定を提供します。 フィードバックを提供することで、プランを反復処理できます。

  6. プランが完成したら、ボタンを使用して実装を開始するか、エディターでプランを開いてさらに確認します。

    プランを同じチャット セッションに実装するか、バックグラウンドまたはクラウド エージェント セッションを開始して実装に自律的に取り組むことができます。

エージェントを使用してコードを生成する

エージェント モードでGitHub Copilotを使用する場合、GitHub Copilotは、ユーザーに代わってアクションを実行できる自律エージェントとして機能します。 特定のタスクを実行するようにGitHub Copilotに依頼すると、要求に基づいてコードが生成されます。

Von Bedeutung

エージェント モードを使用する場合、GitHub Copilotは 1 つのタスクを完了するために複数の Premium 要求を行う場合があります。 プレミアムリクエストは、ユーザーが開始したプロンプトと、GitHub Copilot がユーザーに代わって実行するフォローアップ アクションによって使用できます。 使用される Premium 要求の合計数は、タスクの複雑さ、関連するステップの数、選択したモデルによって異なります。

  1. チャット ビューを開き、エージェント ピッカーから [エージェント ] を選択します。

  2. GitHub Copilotが実行するタスクを説明するプロンプトを作成します。

    たとえば、GitHub Copilotに新しい機能を生成するか、まったく新しいアプリを作成するように求める場合があります。

    • React と Node.js を使用して食事計画 Web アプリを作成する
    • ソーシャル メディア共有機能を追加する
    • 現在の認証を OAuth に置き換える
  3. エージェントは、さまざまなタスクを実行するために複数のツールを呼び出す場合があります。 必要に応じて、[ツール] アイコンを選択して、要求への応答に使用できるツールを構成します。

  4. ツールの呼び出しとターミナル コマンドを確認します。

    GitHub Copilotターミナル コマンドまたは組み込まれていないツールを実行する前に、続行の確認を要求します。 GitHub Copilotは、ツールがコンピューター上でローカルで実行され、ファイルまたはデータを変更するアクションを実行する可能性があるため、確認を要求します。

  5. GitHub Copilotは、コード編集およびターミナル コマンドの問題と問題を検出し、それらを解決するためのアクションを繰り返し実行します。

  6. GitHub Copilotが要求を処理すると、提案されたコード編集がエディターに直接ストリームされます。

  7. 推奨される編集内容を確認し、提案された編集内容を承諾または破棄します。

  8. 必要に応じて、さらに多くのプロンプトを表示して、新しい機能の反復処理と調整を続けます。

インライン チャット セッションを使用してコードを生成する

インライン チャット セッションを使用して、コードの分析と生成を行うことができます。 インライン チャット インターフェイスには、コード エディターでファイルが開かれている場合にのみアクセスできます。 選択したコードを分析したり、プロンプトに基づいて新しいコードを作成したりするために使用できます。

  1. エディターでファイルを開きます。

  2. Ctrl + I キーボード ショートカットを使用するか、タイトル バーの [チャット] メニューから [インライン チャットを開く] を選択して、インライン チャット セッションを開きます。

    インライン チャット セッションがエディターのカーソル位置で開きます。

  3. エディターでコード ブロックを選択します。

    選択したコードがプロンプトのコンテキストとして使用されます。 コードが選択されていない場合、プロンプトはファイル全体をコンテキストとして使用します。

  4. チャット入力フィールドにプロンプトを入力します。

    例えば次が挙げられます。

    Update selection to include an option for the `CommonActions.SearchBooks` action. Use the letter "b" and the message "to check for book availability".
    
  5. コード更新候補は、エディターに差分として表示されます。

  6. 推奨されるコードの更新を確認し、変更を受け入れるか破棄します。

    コードを更新するインライン チャット セッションを示すスクリーンショット。

  7. 必要に応じて、さらに多くのプロンプトを表示して、新しい機能の反復処理と調整を続けます。

概要

GitHub Copilot チャットには、コードを生成し、コーディング タスクを支援するための強力なツール セットが用意されています。 チャット ビュー、クイック チャット ウィンドウ、インライン チャット セッションはすべて、AI ペア プログラマとやり取りし、コーディングの問題に関するヘルプを得るためのさまざまな方法を提供します。 これらのツールを効果的に使用することで、コーディングの生産性と効率を向上させることができます。