本日はVisualStudioCodeの学習枠です。
VisualStudioCodeのGitHubCopilotのドキュメントを読みながら実際に操作を試してみました。
前回記事
以下の前回記事の続きです。
bluebirdofoz.hatenablog.com
Customize AI responses in VS Code
以下のCustomize AI responses in VS Codeドキュメントを日本語訳しながら実行時のキャプチャをしていきます。
code.visualstudio.com
copilot-instructions.mdファイルを使用する
カスタム命令はワークスペースまたはリポジトリ内の.github/copilot-instructions.mdファイルに保存できます。
Markdownを使用してコーディングの慣行、推奨の技術、プロジェクト要件を記述できます。
これらの命令はファイルが配置されているワークスペースにのみ適用されます。

VS Codeは全てのチャットリクエストに.github/copilot-instructions.mdファイルの指示を自動的に含め、コード生成に適用します。
.github/copilot-instructions.mdファイルを使用するには以下の手順を実施します。
github.copilot.chat.codeGeneration.useInstructionFiles設定をtrueに設定します。
するとVS Codeが全てのチャットリクエストでcopilot-instructions.mdファイルを自動的に使用するように指示されます。

ワークスペースのルートディレクトリに.github/copilot-instructions.mdファイルを作成します。
必要に応じて、まず.githubディレクトリを作成します。

自然言語とMarkdown形式を使用して、指示内容を記述します。

命令間の空白は無視されるため、命令は単一の段落として記述できます。
各行を新しい行に配置するか可読性を高めるために空白行で区切ることができます。
.instructions.mdファイルを使用する
特定のタスク用のカスタム手順を保存するために、1つまたは複数の.instructions.mdファイルを作成することもできます。
例えば異なるプログラミング言語、フレームワークまたはプロジェクトの種類ごとに手順ファイルを作成できます。
VS Codeは全てのチャットリクエストに自動的に命令ファイルを追加できます。
またはどのファイルに自動的に指示を適用するかを指定することもできます。
またはチャットプロンプトに手動で命令ファイルを添付することもできます。
VS Codeは命令ファイルに対して2種類のスコープをサポートしています
命令ファイル構造
命令ファイルは.instructions.mdファイル拡張子を持つMarkdownファイルです。
命令ファイルは2つのセクションから構成されています。
(オプション)メタデータを含むヘッダー
description:
命令ファイルの簡単な説明です。この説明はチャットビューで命令ファイルにマウスを合わせると表示されます。
applyTo:
ファイルに自動的に適用される指示の対象となるファイルのグロブパターンを指定します。
カスタム指示を常に含めるには ** パターンを使用します。
例えば以下の命令ファイルは常に適用されます。
--- applyTo: "**" --- Add a comment at the end of the file: 'Contains AI-generated edits.'
命令ファイルを作成する
ワークスペースまたはユーザープロファイルに命令ファイルを作成できます。
ワークスペースに作成した命令ファイルはワークスペース内でのみ使用できます。
ユーザープロファイルに作成した命令ファイルは複数のワークスペースで使用できます。
命令ファイルは以下の手順で作成します。
チャットビューで[Configure Chat...]ボタンを選択し、[Instructions]を選択します。

[New instruction file...]を選択します。

命令ファイルを作成する場所を選択します。

Workspace(ワークスペース)
デフォルトではワークスペースの命令ファイルはワークスペースの.github/instructionsフォルダーに保存されます。
ワークスペースに追加の命令フォルダーを追加するにはchat.instructionsFilesLocations設定を使用します。

User profile(ユーザプロファイル)
ユーザーマニュアルファイルは現在のプロファイルフォルダーに保存されています。
設定同期機能を使用することで複数のデバイス間でユーザーマニュアルファイルを同期させることができます。

命令ファイルの名前を入力します。

Markdown形式を使用してカスタム命令の指示を記述します。

ヘッダーのapplyToメタデータプロパティを指定して指示が自動的に適用されるタイミングを構成します。
例えば、applyTo: "**/*.ts,**/*.tsx"と指定すると、TypeScriptファイルにのみ適用されます。
追加のワークスペースファイルを参照するには命令ファイル内でMarkdownリンク ([index](../index.ts)) または #-参照 (#index.ts) を使用します。

既存の命令ファイルを編集するにはチャットビューの[Configure Chat]ボタンを選択してリストから命令ファイルを選択します。

チャットで命令ファイルを使用する
命令ファイルでapplyToメタデータプロパティを指定した場合、VS Codeは自動的にその命令をグロブパターンに一致する全てのファイルに適用します。
チャットプロンプトに手動で命令ファイルを添付するには以下の手順を実施します。
チャットビューで[Add Context -> Instructions]を選択し、クイックピックから命令ファイルを選択します。

またはコマンドパレット(Ctrl+Shift+P)から[Chat: Attach Instructions]コマンドを実行し、クイックピックから指示ファイルを選択します。

これでチャットに命令ファイルを適用できます。


