VS Code でチャットを使用する
Visual Studio Code でチャットを使用して、自然言語でコードベースについて質問したり、プロジェクト全体を編集したりできます。チャットは、質問から複数ファイルの編集、またはエージェント的なコーディングワークフローの開始まで、ユースケースに合わせて最適化されたさまざまなモードで動作できます。
VS Code でチャットを使用すると便利な状況:
- コードを理解する - 「この認証ミドルウェアの仕組みを説明してください」
- 問題をデバッグする - 「なぜこのループで Null 参照が発生するのですか?」
- コードの提案を得る - 「Python で二分探索木を実装する方法を示してください」
- パフォーマンスを最適化する - 「このデータベースクエリの効率を改善するのを手伝ってください」
- ベストプラクティスを学ぶ - 「非同期関数でエラーを処理する推奨される方法は何ですか?」
- VS Code のヒントを得る - 「キーボードショートカットをカスタマイズするにはどうすればよいですか?」
Copilot サブスクリプションをお持ちでない場合でも、Copilot Free プランにサインアップして、月ごとの補完とチャットのインタラクションの制限を受けることで、Copilot を無料で使用できます。
チャットモード
特定のニーズに基づいて、さまざまなチャットモードを選択できます
モード | 説明 | シナリオ |
---|---|---|
質問 | コードベースまたはテクノロジーの概念について質問します。 | コードの一部がどのように機能するかを理解したり、ソフトウェア設計のアイデアをブレインストーミングしたり、新しいテクノロジーを探索したりします。 |
編集 | コードベース内の複数のファイルにわたって編集を行います。 | 新しい機能を実装したり、バグを修正したり、コードをリファクタリングしたりするために、プロジェクトでコード編集を直接適用します。 |
エージェント | エージェント的なコーディングワークフローを開始します。 | 最小限のガイダンスで、新しい機能やプロジェクトの高度な要件を自律的に実装し、特殊なタスクのためのツールを呼び出し、問題が発生したときに反復処理して解決します。 |
チャットビューの [モード] ドロップダウンを使用して、さまざまなチャットモードを切り替えます。
VS Code でチャットにアクセスする
VS Code でチャットにアクセスするには、いくつかの方法があります
-
チャットビュー (⌃⌘I (Windows、Linux Ctrl+Alt+I)): 専用ビューで継続的な複数ターンのチャット会話を行います。いつでもさまざまなチャットモードを切り替えます。デフォルトでは、チャットビューは VS Code のセカンダリサイドバーにあります。
-
インラインチャット (⌘I (Windows、Linux Ctrl+I)): エディター (エディターインラインチャット) または統合ターミナル (ターミナルインラインチャット) から直接チャット会話を開始して、その場で提案を取得します。
-
クイックチャット (): 簡単な質問をして、作業に戻ります。
対応するキーボードショートカットを使用するか、VS Code タイトルバーの Copilot メニューからチャットにすばやくアクセスします。
チャットプロンプトを送信する
自然言語を使用してチャットリクエストを作成できます。コードベースについて質問したり、コードの提案を得たり、アイデアをブレインストーミングしたりできます。
チャットビュー (⌃⌘I (Windows、Linux Ctrl+Alt+I)) を開き、チャット入力フィールドにプロンプトを入力します。応答には、Markdown テキスト、コードブロック、ボタン、ファイルツリーなどの豊富なコンテンツが含まれる場合があります。
試すことができるプロンプトの例をいくつか示します
- コーディングとテクノロジーの概念について質問する (「連結リストとは何ですか?」、「人気のある Web フレームワーク トップ 10」)
- コーディングの問題を最適に解決する方法についてアイデアをブレインストーミングする (「プロジェクトに認証を追加するにはどうすればよいですか?」)
- コードブロックを説明する ("@workspace /explain"、「このコードは何をしますか?」)
- コード修正を提案する ("@workspace /fix"、「このメソッドは FileNotFoundException を発生させます」)
- ユニットテストケースまたはコードドキュメントを生成する ("@workspace /tests"、"@workspace /doc")
- VS Code の設定について質問する (@vscode ミニマップを無効にするにはどうすればよいですか?)
プロンプトの例の詳細については、GitHub ドキュメントの Copilot チャットクックブックを参照してください。
チャット入力フィールドに /help
と入力して、GitHub Copilot と Copilot チャットの操作方法に関するヘルプを表示します。
エディターでチャットセッションを開く
チャットセッションを個別のエディタータブとして、または個別のウィンドウとして開くことができます。副作用として、これにより複数のチャットセッションを同時に開くことができます。
エディターまたは個別のウィンドウでチャットセッションを開くには
-
チャットビューの右上隅にある [...] アイコンを選択します。
-
[エディターでチャットを開く] または [新しいウィンドウでチャットを開く] を選択します。
言語モデルを変更する
Copilot は、選択できるさまざまな組み込み言語モデルを提供しています。一部のモデルは高速コーディングタスクに最適化されていますが、他のモデルは低速の計画および推論タスクに適しています。チャット入力フィールドのモデルピッカーを使用して、応答の生成に Copilot が使用するモデルを変更します。
他のモデルプロバイダー (プレビュー) からモデルを追加して、チャットで使用することもできます。他のプロバイダーのモデルを使用する方法の詳細については、こちらを参照してください。
利用可能なモデルのリストは、Copilot サブスクリプションによって異なり、時間の経過とともに変更される可能性があります。利用可能な言語モデルの詳細については、GitHub Copilot ドキュメントの利用可能な言語モデルを参照してください。
チャットでツールを参照する
プロンプトでエージェントモードツールを直接参照するには、# に続けてツール名を入力します。これは、すべてのチャットモード (質問、編集、エージェントモード) で実行できます。
チャットコンテキストを追加する
Copilot は、自然言語チャットプロンプトに基づいて、質問の意図と範囲を判断しようとします。より関連性の高い応答を得るために、チャットプロンプトに追加のコンテキストを提供します。たとえば、質問に関連する可能性のあるファイル、テスト結果、ターミナル出力、またはその他のタイプのコンテキストを追加します。
チャットプロンプトにコンテキストを追加する方法の詳細については、こちらを参照してください。
プロンプトに #codebase を追加して、Copilot に適切なファイルを自動的に検索させます。最良の結果を得るには、github.copilot.chat.codesearch.enabled (プレビュー) 設定を有効にしてください。
Vision (プレビュー)
チャットは Vision 機能をサポートしています。つまり、画像をチャットプロンプトのコンテキストとして添付して、それについて質問できます。たとえば、コードブロックのスクリーンショットを添付して説明を求めたり、UI のスケッチを添付してエージェントモードに実装を求めたりできます。
Web ブラウザーからチャットビューに画像をドラッグアンドドロップして、コンテキストとして追加できます。
チャット履歴
チャットビューは、複数ターンの会話になるように設計されています。Copilot は、会話の履歴を現在のプロンプトのコンテキストとして使用します。これは、コンテキストを繰り返すことなく、フォローアップの質問をしたり、以前の質問を明確にしたりできることを意味します。
いつでも、チャットビューの [新しいチャット] (+) ボタン (⌃L (Windows、Linux Ctrl+L)) を使用して、新しいチャットセッションを作成できます。これは、別のトピックに移動して、以前のコンテキストと履歴を回避したい場合に役立ちます。
以前のチャットセッションにアクセスするには、チャットビューの [チャットを表示...] ボタンを使用するか、コマンドパレットで [チャット: チャットを表示...] コマンドを使用します。エントリを選択して、チャットビューでそのチャットセッションを開きます。
コマンドパレットの [チャット: チャットをエクスポート...] コマンドを使用して、チャットセッションのすべてのプロンプトと応答を JSON ファイルにエクスポートできます。
以前のリクエストを元に戻す
チャットセッション内で、特定のプロンプトと対応する応答をそのセッションの会話履歴から削除できます。プロンプトの上にカーソルを合わせ、[x] コントロールを選択します。言語モデルが関連性の高い応答を提供していない場合、または望ましくない方向に進んでいる場合に、リクエストを削除すると役立つ場合があります。
音声操作を使用する
VS Code Speech 拡張機能によって提供される VS Code の音声制御機能を使用すると、音声を使用してチャット会話を開始できます
- 音声を使用してチャットプロンプトを口述する
- 「Hey Code」音声コマンドを使用して、Copilot チャットとの音声セッションを開始する
- 「長押しして話す」モードを使用して、チャットの音声入力を加速する
VS Code での音声操作の使用方法の詳細をご覧ください。
プライバシーと透明性
プライベートリポジトリのワークスペース検索機能をさらに有効にするには、追加のアクセス許可が必要です。これらのアクセス許可がまだないことを検出した場合、起動時にアクセス許可を求めます。許可されると、セッションは将来のために安全に保存されます。
セキュリティ、プライバシー、透明性について詳しくは、GitHub Copilot Trust Center をご覧ください。
よくある質問
さまざまなチャットモードをどのように選択すればよいですか?
さまざまなチャットモードは、さまざまなユースケースに合わせて最適化されています
-
エディターインラインチャットを使用して、質問をしたり、アクティブなエディターで直接編集したりします。これは、コードを変更したり、アクティブなファイルにスコープされた質問をしたりするのに役立ちます。
-
質問モードを使用して、コードベースまたはテクノロジーの概念について質問します。応答にはコードの提案が含まれる場合があり、コードベースに手動で個別に適用できます。変更はコードベースに自動的に適用されません。
-
編集モードを使用して、チャットプロンプトに基づいて、コードベース内の複数のファイルにわたって編集を直接適用します。プロンプトに関連するコンテキストとファイルを提供します。
-
エージェントモードを使用して、エージェント的なコーディングワークフローを開始します。Copilot は、関連するコンテキストとファイルを自律的に判断し、リクエストを完了するために実行する必要があるタスクを決定します。次に、望ましい結果を達成するために独立して反復処理し、発生した問題を修正します。エージェントモードは、ターミナルコマンドの実行、テストケースの検証、API へのアクセスなど、特殊なタスクを実行するためのツールを呼び出すことができます。
追加リソース
GitHub Copilot と VS Code での使用方法の詳細については、GitHub Copilot ドキュメントのGitHub Copilot ドキュメントを参照してください。
または、YouTube の VS Code Copilot シリーズ をご覧ください。ここでは、Copilot を Python、C#、Java、PowerShell、C++ などで使用するための入門コンテンツやプログラミング固有の動画を見つけることができます。
次のステップ
-
入門 Copilot チャットチュートリアル を始めましょう。
-
Copilot Edits を使用して、複数のファイルにわたって編集を行います。