に参加して、VS Code の AI 支援開発について学びましょう。

VS Code でプロンプトファイルを使用する

プロンプトファイルは、コードの生成、コードレビューの実行、プロジェクトコンポーネントの足場作りなど、一般的な開発タスクの再利用可能なプロンプトを定義する Markdown ファイルです。これらはチャットで直接実行できるスタンドアロンのプロンプトであり、標準化された開発ワークフローのライブラリを作成できます。

一貫した実行を確保するために、タスク固有のガイドラインを含めたり、カスタム指示を参照したりできます。すべてのリクエストに適用されるカスタム指示とは異なり、プロンプトファイルは特定のタスクに対してオンデマンドでトリガーされます。

プロンプトファイルは現在実験段階であり、将来のリリースで変更される可能性があります。

VS Code は、プロンプトファイルに 2 種類のスコープをサポートしています。

  • ワークスペースプロンプトファイル: ワークスペース内でのみ利用可能で、ワークスペースの .github/prompts フォルダーに保存されます。
  • ユーザープロンプトファイル: 複数のワークスペースで利用可能で、現在の VS Code プロファイルに保存されます。

プロンプトファイルの例

次の例は、プロンプトファイルの使用方法を示しています。より多くのコミュニティ提供の例については、Awesome Copilot リポジトリを参照してください。

例: React フォームコンポーネントを生成する
---
mode: 'agent'
model: GPT-4o
tools: ['githubRepo', 'search/codebase']
description: 'Generate a new React form component'
---
Your goal is to generate a new React form component based on the templates in #githubRepo contoso/react-templates.

Ask for the form name and fields if not provided.

Requirements for the form:
* Use form design system components: [design-system/Form.md](../docs/design-system/Form.md)
* Use `react-hook-form` for form state management:
* Always define TypeScript types for your form data
* Prefer *uncontrolled* components using register
* Use `defaultValues` to prevent unnecessary rerenders
* Use `yup` for validation:
* Create reusable validation schemas in separate files
* Use TypeScript types to ensure type safety
* Customize UX-friendly validation rules
例: REST API のセキュリティレビューを実行する
---
mode: 'ask'
model: Claude Sonnet 4
description: 'Perform a REST API security review'
---
Perform a REST API security review and provide a TODO list of security issues to address.

* Ensure all endpoints are protected by authentication and authorization
* Validate all user inputs and sanitize data
* Implement rate limiting and throttling
* Implement logging and monitoring for security events

Return the TODO list in a Markdown format, grouped by priority and issue type.

プロンプトファイルの形式

プロンプトファイルは Markdown ファイルであり、.prompt.md 拡張子を使用し、この構造を持っています。

  • ヘッダー (オプション): YAML フロントマター

    • description: プロンプトの簡単な説明
    • mode: プロンプトの実行に使用されるチャットモード: askedit、または agent (デフォルト)。
    • model: プロンプトの実行時に使用される言語モデル。指定されていない場合、モデルピッカーで現在選択されているモデルが使用されます。
    • tools: 使用できるツールの配列 (セット名)。ツールの構成を選択して、ワークスペースで利用可能なツールの一覧からツールを選択します。プロンプトの実行時に指定されたツール (セット) が利用できない場合、それは無視されます。
  • 本文: Markdown 形式のプロンプト指示

    Markdown リンクを使用して、他のワークスペースファイル、プロンプトファイル、または指示ファイルを参照します。これらのファイルを参照するには相対パスを使用し、プロンプトファイルの場所に基づいてパスが正しいことを確認してください。

    プロンプトファイル内では、${variableName} 構文を使用して変数を参照できます。次の変数を参照できます。

    • ワークスペース変数 - ${workspaceFolder}${workspaceFolderBasename}
    • 選択変数 - ${selection}${selectedText}
    • ファイルコンテキスト変数 - ${file}${fileBasename}${fileDirname}${fileBasenameNoExtension}
    • 入力変数 - ${input:variableName}${input:variableName:placeholder} (チャット入力フィールドからプロンプトに値を渡す)

ツールリストの優先順位

tools メタデータフィールドを使用して、チャットモードとプロンプトファイルの両方で利用可能なツールのリストを指定できます。プロンプトファイルは、mode メタデータフィールドを使用してチャットモードを参照することもできます。

チャットで利用可能なツールのリストは、次の優先順位で決定されます。

  1. プロンプトファイルで指定されたツール (存在する場合)
  2. プロンプトファイルで参照されているチャットモードからのツール (存在する場合)
  3. 選択したチャットモードのデフォルトツール

プロンプトファイルの作成

プロンプトファイルを作成するときは、ワークスペースに保存するか、ユーザープロファイルに保存するかを選択します。ワークスペースプロンプトファイルはそのワークスペースにのみ適用されますが、ユーザープロンプトファイルは複数のワークスペースで利用できます。

プロンプトファイルの作成方法

  1. chat.promptFiles 設定を有効にします。

  2. チャットビューで、チャットの構成 > プロンプトファイルを選択し、新しいプロンプトファイルを選択します。

    Screenshot showing the Chat view, and Configure Chat menu, highlighting the Configure Chat button.

    または、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) からチャット: 新しいプロンプトファイルコマンドを使用します。

  3. プロンプトファイルを作成する場所を選択します。

    • ワークスペース: デフォルトでは、ワークスペースプロンプトファイルはワークスペースの .github/prompts フォルダーに保存されます。ワークスペース用のプロンプトフォルダーを chat.promptFilesLocations 設定で追加します。

    • ユーザープロファイル: ユーザープロンプトファイルは現在のプロファイルフォルダーに保存されます。設定同期を使用して、ユーザープロンプトファイルを複数のデバイス間で同期できます。

  4. プロンプトファイルの名前を入力します。

  5. Markdown 形式を使用してチャットプロンプトを作成します。

    プロンプトファイル内で、追加のワークスペースファイルを Markdown リンク ([index](../index.ts)) として参照します。

    他の .prompt.md ファイルを参照して、プロンプトの階層を作成することもできます。同じ方法で指示ファイルを参照することもできます。

既存のプロンプトファイルを変更するには、チャットビューでチャットの構成 > プロンプトファイルを選択し、リストからプロンプトファイルを選択します。または、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) からチャット: プロンプトファイルの構成コマンドを使用し、クイックピックからプロンプトファイルを選択します。

チャットでプロンプトファイルを使用する

プロンプトファイルを実行するには複数のオプションがあります。

  • チャットビューで、チャット入力フィールドに / に続けてプロンプトファイル名を入力します。

    このオプションを使用すると、チャット入力フィールドに追加情報を渡すことができます。たとえば、/create-react-form または /create-react-form: formName=MyForm

  • コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) からチャット: プロンプトの実行コマンドを実行し、クイックピックからプロンプトファイルを選択します。

  • エディターでプロンプトファイルを開き、エディタータイトル領域の再生ボタンを押します。現在のチャットセッションでプロンプトを実行するか、新しいチャットセッションを開くかを選択できます。

    このオプションは、プロンプトファイルをすばやくテストして反復処理するのに便利です。

ユーザープロンプトファイルをデバイス間で同期する

VS Code は、設定同期を使用して、ユーザープロンプトファイルを複数のデバイス間で同期できます。

ユーザープロンプトファイルを同期するには、プロンプトファイルと指示ファイルの設定同期を有効にします。

  1. 設定同期が有効になっていることを確認してください。

  2. コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) から設定同期: 構成を実行します。

  3. 同期する設定のリストからプロンプトと指示を選択します。

プロンプトファイルを定義するためのヒント

  • プロンプトが何を達成すべきか、どのような出力形式が期待されるかを明確に記述します。

  • AI の応答を導くために、期待される入力と出力の例を提供します。

  • 各プロンプトでガイドラインを重複させるのではなく、Markdown リンクを使用してカスタム指示を参照します。

  • ${selection} などの組み込み変数と入力変数を活用して、プロンプトをより柔軟にします。

  • エディターの再生ボタンを使用してプロンプトをテストし、結果に基づいて改良します。

© . This site is unofficial and not affiliated with Microsoft.