Site cover image

Site icon image記事一覧

自身の疑問に答えるメモ置き場
2025-06-28

VSCode の GitHub Copilot のカスタマイズ方法 - カスタムインストラクションの活用

VSCode の GitHub Copilot のカスタマイズ方法 - カスタムインストラクションの活用

GitHub Copilot は、カスタムインストラクションを使用することで、よりプロジェクトに適した提案や回答を提供できます。この記事では、VSCode での GitHub Copilot のカスタムインストラクションの設定方法について詳しく解説します。

カスタムインストラクションとは

カスタムインストラクションを使用すると、チームのワークフロー、ツール、プロジェクトの特性に関する情報を Copilot に提供できます。これにより、毎回の会話で同じコンテキストを説明する必要がなくなります。

カスタムインストラクションの種類

GitHub Copilot では、以下の 5 種類のカスタムインストラクションを設定できます:

  1. <strong>コード生成インストラクション</strong>
  2. <strong>テスト生成インストラクション</strong>
  3. <strong>コードレビューインストラクション</strong>
  4. <strong>コミットメッセージ生成インストラクション</strong>
  5. <strong>PR タイトルと説明文生成インストラクション</strong>
    • PR のタイトル形式
    • 説明文に含めるべき項目
    • レビュアーへの注意事項

カスタムインストラクションの設定方法

1. settings.json での設定
{
  "github.copilot.chat.codeGeneration.instructions": [
    {
      "text": "常にコメントを追加: 'Generated by Copilot'"
    },
    {
      "text": "TypeScriptでは常にプライベートフィールドにアンダースコアを使用"
    },
    {
      "file": "code-style.md"
    }
  ]
}
2. .github/copilot-instructions.md の使用
  1. <code>github.copilot.chat.codeGeneration.useInstructionFiles</code> を <code>true</code> に設定
  2. プロジェクトのルートに <code>.github/copilot-instructions.md</code> を作成
  3. Markdown 形式でインストラクションを記述
# コーディング規約

- 常に関数コメントを追加する
- React では関数コンポーネントを使用
- TypeScript の strict モードを有効化

各種インストラクションの設定項目

コード生成インストラクション
{
  "github.copilot.chat.codeGeneration.instructions": [
    {
      "text": "コーディング規約に従ってコードを生成"
    }
  ]
}
テスト生成インストラクション
{
  "github.copilot.chat.testGeneration.instructions": [
    {
      "text": "Vitest を使用して React コンポーネントをテスト"
    },
    {
      "text": "Jest を使用して JavaScript コードをテスト"
    }
  ]
}
コードレビューインストラクション
{
  "github.copilot.chat.reviewSelection.instructions": [
    {
      "text": "セキュリティの脆弱性をチェック"
    },
    {
      "text": "パフォーマンスの問題を指摘"
    }
  ]
}

ベストプラクティス

  1. <strong>簡潔で自己完結した指示を書く</strong>
  2. <strong>外部リソースへの参照を避ける</strong>
  3. <strong>チーム全体で共有可能な形式で管理</strong>
    • 外部ファイルに保存してバージョン管理
    • チームメンバー間で共有しやすい形式を選択

設定のポイント

  1. <strong>言語固有の設定</strong>
{
  "[typescript]": {
    "github.copilot.enable": true
  }
}
  1. <strong>プロジェクト固有の設定</strong>
    • <code>.vscode/settings.json</code> でプロジェクト固有の設定
    • <code>.github/copilot-instructions.md</code> でチーム共有の設定

まとめ

GitHub Copilot のカスタムインストラクションを適切に設定することで、より効率的で一貫性のあるコーディング体験を実現できます。チームの規約や要件に合わせてカスタマイズすることで、Copilot からより適切な提案を得ることができます。

参考リンク

  • [Visual Studio Code の GitHub Copilot カスタマイズドキュメント](https://code.visualstudio.com/docs/copilot/copilot-customization)
  • [GitHub Copilot ドキュメント](https://docs.github.com/ja/copilot)