カスタマイズについて
次の 2 種類のファイルを使って、GitHub Copilot の応答をカスタマイズできます。
-
**カスタム指示**では、ユーザーのすべての対話に対して GitHub Copilot がどのように動作する必要があるかについての実行時のガイダンスを提供します。 -
**プロンプト ファイル (パブリック プレビュー)** では、必要に応じて呼び出すことができる、特定のタスクに対する再利用可能なプロンプトを定義します。 プロンプト ファイルは、VS Code、Visual Studio、および JetBrains IDE でのみ使用できます。概要の例については、 [AUTOTITLE](/copilot/tutorials/customization-library/prompt-files/your-first-prompt-file) を参照してください。
カスタム指示は各 AI ワークフローにコンテキストを追加するのに役立ちますが、プロンプト ファイルを使うと、チャットの特定の対話に指示を追加できます。
最もよく使われてサポートされるのはリポジトリ カスタム指示ですが、GitHub でのGitHub Copilot Chatのみ、個人および organization のカスタム指示を定義することもできます。 リポジトリのカスタム指示は、次の 2 つの方法で作成できます。
-
**リポジトリ全体の指示**: リポジトリ内のすべてのファイルに適用される 1 つの `copilot-instructions.md` ファイルをリポジトリ ルートに作成します。 -
**パス固有の指示**: 特定のファイルまたはディレクトリにのみ適用される `.instructions.md` フィールドを含む 1 つ以上の `applyTo` ファイルを作成します。 パス固有の手順は、現在、Copilot Chat、****、およびVisual Studioの**Copilotクラウドエージェント** でサポートされています。
初めての指示
これらの基本的なカスタム指示から始めましょう。そうすれば、GitHub Copilot があなたのコーディングの好みを理解するのに役立ちます。
関数の記述に関する指示
When writing functions, always: - Add descriptive JSDoc comments - Include input validation - Use early returns for error conditions - Add meaningful variable names - Include at least one example usage in comments
When writing functions, always:
- Add descriptive JSDoc comments
- Include input validation
- Use early returns for error conditions
- Add meaningful variable names
- Include at least one example usage in comments
これらの指示により、GitHub Copilot が関数を生成する方法が変わります。
テストする
カスタム命令で実行できる違いをすばやくテストするには、Copilot Chat の個人用カスタム命令を使用します。
-
まず、github.com/copilot に移動し、次のプロンプトを入力します。
Create a JavaScript function that calculates the area of a circle**カスタム指示がない場合は**、たとえば次のような結果になります。function areaOfCircle(radius) { if (typeof radius !== 'number' || radius < 0) { throw new Error('Radius must be a non-negative number'); } return Math.PI * radius * radius; } -
次に、ページの左下にあるプロファイル画像をクリックして個人のカスタム手順をaccessし、個人の指示をクリックします。 上記の指示をテキスト ボックスに貼り付けて、[Save] をクリックします。
次に、前に入力したのと同じプロンプトを入力します。
**カスタム指示を使うと**、次のような結果になります。/** * Calculates the area of a circle given its radius. * * @param {number} radius - The radius of the circle. Must be a positive number. * @returns {number|null} The area of the circle, or null if the input is invalid. * * @example * // returns 78.53981633974483 * areaOfCircle(5); * * @example * // returns null (invalid input) * areaOfCircle(-2); */ function areaOfCircle(radius) { if (typeof radius !== "number" || isNaN(radius) || radius <= 0) { // Invalid input: radius must be a positive number return null; } const area = Math.PI * Math.pow(radius, 2); return area; } // Example usage: console.log(areaOfCircle(5)); // 78.53981633974483 console.log(areaOfCircle(-2)); // null
参考資料
-
[AUTOTITLE](/copilot/concepts/response-customization) - GitHub Copilot での応答カスタマイズの概要 -
[AUTOTITLE](/copilot/how-tos/configure-custom-instructions) - カスタム指示を構成する方法 -
[優れた GitHub Copilot カスタマイズ](https://github.com/github/awesome-copilot/blob/main/README.md) - 特定の言語とシナリオ向けにコミュニティに投稿されたカスタム指示とその他のカスタマイズのリポジトリ