以下の内容はhttps://bluebirdofoz.hatenablog.com/entry/2025/05/31/232130より取得しました。


VisualStudioCodeのGitHubCopilotのドキュメントを読む その13(プロンプトのコマンドと変数)

本日はVisualStudioCodeの学習枠です。
VisualStudioCodeのGitHubCopilotのドキュメントを読みながら実際に操作を試してみました。

前回記事

以下の前回記事の続きです。
bluebirdofoz.hatenablog.com

Prompt engineering for Copilot Chat

以下のPrompt engineering for Copilot Chatドキュメントを日本語訳しながら実行時のキャプチャをしていきます。
code.visualstudio.com

Copilot Chatを最大限に活用する

GitHub Copilot Chat拡張機能をインストールすることでチャットインターフェイスを介してCopilotから支援を受けることもできます。
チャットを使用してGitHub Copilotと対話する場合、エクスペリエンスを最適化するためにできることがいくつかあります。

Chat participantsとスラッシュコマンドを使用する

Chat participantsはコードベースまたは特定のドメインやテクノロジに関する追加のコンテキストを収集するように設計されています。
適切なparticipantを使用することでCopilotチャットはCopilotバックエンドに送信するためのより良い情報を見つけて提供できます。
例えばオープンプロジェクトについて質問したい場合は @workspace を使用し、VS Codeの機能やAPIについて詳しく知りたい場合は @vscode を使用します。

スラッシュコマンドはCopilot Chatが質問者の意図を理解するのに役立ちます。
コードベースについて説明が欲しいのか(/explain)、問題を修正して欲しいのか(/fix)、テストケースを作成して欲しいのか(/tests)。
Copilot Chatにあなたが何をしようとしているかを知らせることで、あなたのタスクに返信を調整し、役立つコマンド、設定、コードスニペットを提供することができます。

自然言語クエリを使用してプロジェクトの範囲や現在のタスクを書き出すこともできますが、Chat participantsとスラッシュ コマンドを使用する方が簡潔で明確です。

コンテキストにチャット変数を使用する

workspaceや@vscodeなどのChat participantsはドメイン固有のコンテキストを提供するチャット変数を提供できます。
記号を使用するとチャットプロンプトでチャット変数を参照できます。チャット変数を使用することでチャットプロンプトに含めるコンテキストをより具体的にすることができます。

たとえば、#(ファイル名) または #(フォルダ名) を使用するとチャットプロンプトでワークスペースの特定のファイルやフォルダを参照できます。
これにより、作業中のファイルに関するコンテキストを提供することでCopilot Chatからの回答をコードに関連付けることができます。
「#package.jsonの改善点を教えてください」や「#devcontainer.jsonに拡張子を追加するにはどうすればよいですか」のような質問をすることができます。

チャットビューの[Add Context]ボタンを使ってチャットメッセージにコンテキストを追加することもできます。
現在の選択範囲、ワークスペースの1つ以上のファイル、ソースコードの1つ以上のシンボルなどクイックピックから特定のタイプのコンテキストを選択できます。

具体的かつシンプルに

Copilotに何かを依頼するときは具体的に依頼し、大きなタスクを小さなタスクに分割します。
例えばTypeScriptとPugを使用し、MongoDBデータベースからデータを取得する製品ページを持つExpressアプリの作成をCopilotに依頼するのはやめましょう。
代わりにまずCopilotにTypeScriptとPugを使用したExpressアプリの作成を依頼します。
次に商品ページを追加するように依頼し、最後にデータベースから顧客データを取得するように依頼します。

Copilotに特定のタスクを依頼するときは、使用する入力、出力、APIフレームワークについて具体的に説明します。
プロンプトが具体的であればあるほど、より良い結果が得られます。
例えば「データベースから商品データを読み取る」ではなく、「すべての商品をカテゴリー別に読み取り、JSON形式でデータを返し、Mongooseライブラリを使用する」とします。

ソリューションの反復処理

Copilotチャットにヘルプを求める場合、最初の回答に終始することはありません。
繰り返し、Copilotにソリューションを改善するよう促すことができます。Copilotは生成されたコードのコンテキストと現在の会話の両方を把握しています。

インラインチャットを使用してフィボナッチ数を計算する関数を作成する例を示します。

再帰呼び出しを使わないソリューションを求めることができます。

Copilotにコーディング規約を守るように依頼したり、変数名を改善したりすることもできます。

すでに結果を受け入れた場合でも後でCopilotにコードの反復処理を依頼できます。




以上の内容はhttps://bluebirdofoz.hatenablog.com/entry/2025/05/31/232130より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14