本日はVisualStudioCodeの学習枠です。
VisualStudioCodeのGitHubCopilotのドキュメントを読みながら実際に操作を試してみました。
前回記事
以下の前回記事の続きです。
bluebirdofoz.hatenablog.com
Use chat in VS Code
以下のUse chat in VS Codeドキュメントを日本語訳しながら実行時のキャプチャをしていきます。
code.visualstudio.com
言語モデルを変更する
Copilotには様々な言語モデルが用意されています。
モデルには高速なコーディングタスクに最適化されているものや、低速な計画タスクや推論タスクに適しているものもあります。
チャット入力フィールドのモデルピッカーを使用して、Copilotが応答の生成に使用するモデルを変更できます。
チャットでのツールの参照
エージェントモードのツールをプロンプトで直接参照するには「#」の後にツール名を入力します。
これは、すべてのチャットモード(Ask, Edit, Agent)で可能です。
チャットコンテキストの追加
Copilotは自然言語のチャット プロンプトに基づいて質問の意図と範囲を判断しようとします。
より関連性の高い回答を得るにはチャットプロンプトに追加のコンテキストを提供します。
例えば、ファイル、テスト結果、ターミナル出力、または質問に関連する可能性のあるその他の種類のコンテキストを追加できます。
チャットプロンプトにコンテキストを追加する方法の詳細は以下を参照ください。
code.visualstudio.com
ビジョン (プレビュー)
チャットはビジョン機能をサポートしているため、チャットプロンプトにコンテキストとして画像を添付して、それについて質問できます。
例えばコードブロックのスクリーンショットを添付して説明を求めたり、UIのスケッチを添付してエージェントモードに実装を依頼したりします。
チャット履歴
チャットビューは複数回の会話になるように設計されています。
Copilotは会話の履歴を現在のプロンプトのコンテキストとして使用します。
つまり文脈を繰り返すことなく、フォローアップの質問をしたり、前の質問を明確にしたりできます。
チャットビューの[+(新規チャット)]ボタン(Ctrl+L)を使用して、いつでも新しいチャットセッションを作成できます。
これは別のトピックに移動し、以前のコンテキストと履歴を避けたい場合に便利です
以前のチャットセッションにアクセスするにはチャットビューの[チャットの表示]ボタンを使用するか
コマンドパレットの[Chat: Show Chats... ]コマンドを使用します。エントリを選択してチャットビューでそのチャットセッションを開きます。
チャットセッションのすべてのプロンプトと応答をJSONファイルにエクスポートするにはコマンドパレットの[Chat: Export Chat...]コマンドを使用します。
以前のリクエストを元に戻す
チャットセッション内でそのセッションの会話履歴から特定のプロンプトと対応する応答を削除できます。
プロンプトにカーソルを合わせて[x]ボタンを実行します。
リクエストの削除は言語モデルが適切な応答を提供していないことや、会話が望ましくない方向に向かっていることに気付いた場合に役立つことがあります。
音声操作を使用する
VS Code Speech拡張機能によって提供される音声制御機能を使用すると音声を使用してチャット会話を開始できます。
- 音声を使用してチャットプロンプトを指示する
- 「Hey Code」音声コマンドを使用して、Copilot Chatとの音声セッションを開始します
- 長押し会話モードを使用してチャットの音声入力を高速化します
VS Codeで音声操作を使用する方法の詳細は以下を参照してください。
code.visualstudio.com
プライバシーと透明性
プライベートリポジトリのワークスペース検索機能をさらに有効にするには追加のアクセス許可が必要です。
これらの権限がまだないことが検出された場合は起動時に権限が求められます。許可されるとセッションは将来にわたって安全に保存されます。
セキュリティ、プライバシー、透明性の詳細についてはGitHub Copilot Trust Centerを参照してください。
resources.github.com
よくある質問
様々なチャットモードを選択するにはどうすればよいですか?
チャットモードは様々なユースケースに合わせて最適化されています。
- エディターのインラインチャットを使用して、アクティブなエディターで直接質問をしたり編集したりできます。
- Askモードを使用してコードベースやテクノロジの概念について質問します。レスポンスにはコードの提案が含まれる場合がありますが変更はコードベースに自動的に適用されません。
- Editモードを使用するとチャットプロンプトに基づいてコードベース内の複数のファイルに直接編集を適用できます。プロンプトに関連するコンテキストとファイルを指定します。
- Agentモードを使用してエージェントコーディングワークフローを開始するとCopilotが関連するコンテキストとファイルを自律的に決定し、リクエストを完了するために実行する必要があるタスクが決定されます。