Note
カスタム コーディング ガイドライン機能は、Copilot Enterprise プランでのみ利用でき、現在は一部のお客様に限定されています。
コーディング ガイドラインについて
自然言語で書かれたカスタム コーディング ガイドラインを使って、Copilot コード レビュー をカスタマイズできます。 Copilot コード レビュー の詳細については、「GitHub Copilot コード レビューの使用」を参照してください。
コーディング ガイドラインを使うと、Copilot は、organization の固��のコーディング スタイルとベスト プラクティスに基づいてフィードバックを提供できます。
Copilot コード レビュー は大規模言語モデルを搭載しているため、リンターまたは静的分析ツールではカバーされていないコーディング ガイドラインを適用するのに役立ちます。
コーディング ガイドラインは、リポジトリ レベルで構成されます。 リポジトリごとに最大 6 つのコーディング ガイドラインを作成して有効にできます。
Note
- コーディング ガイドラインは、Copilot のコード レビューでサポートされている言語でのみ機能します。 サポートされている言語の一覧については、「GitHub Copilot コード レビューの使用」を参照してください。
- コーディング ガイドラインは、Copilot によって行われるコード レビューにのみ適用されます。 このガイドラインは、Copilot のコード補完候補や、Copilot Chat の応答で提案されるコードには影響しません。
コーディング ガイドラインについて行って良いことと悪いこと
- 良い 平易で明確で簡潔な言語を使って、コーディング ガイドラインを記述する。
- 良い Copilot が模索する必要のあるもの、つまり、コードに記述されてほしいものとほしくないものを、できるだけ具体的に指定する。
- 良い 後述する「コーディング ガイドラインの例」を見て参考にする。
- 悪い コーディング ガイドラインを使って、リンターまたは静的分析ツールで対応できるスタイル ガイドラインを適用しようとする。
- 悪い あいまいな、または何通りにも解釈できる表現を使う。
- 悪い 複数の異なるアイデアを 1 つのコーディング ガイドラインに盛り込もうとする。
コーディング ガイドラインの作成
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイ���バーの [Code & automation] セクションで、 Copilot をクリックしてから、[Code review] をクリックします。
-
[Create guideline] をクリックします。
-
[Name] で、コーディング ガイドラインの名前を指定します。
-
[Description] で、コーディング ガイドラインの説明を最大 600 文字で指定します。 これは、Copilot がコーディング スタイルを理解し、コメントを残すべきときを判断するために使われます。
説明の書き方は、Copilot が生成するコメントの品質に大きな影響を与えます。 効果的なコーディング ガイドラインの書き方については、前述の「コーディング ガイドラインについて行って良いことと悪いこと」と後述する「コーディング ガイドラインの例」を参照してください。
-
必要に応じて、[Add file path] をクリックしてパスのパターンを追加し、特定のファイルの種類またはパスにコーディング ガイドラインを制限します。
fnmatch
構文を使い、任意の文字列に一致するワイルドカードとして*
を使って、ターゲットのパスを定義できます。GitHub では
File::FNM_PATHNAME
フラグをFile.fnmatch
構文で使うため、*
のワイルドカードがディレクトリの区切り記号 (/
) と照合されません。 たとえば、qa/*
は、qa/
で始まり、1 つのスラッシュを含むすべてのブランチと照合されますが、qa/foo/bar
とは照合されません。qa
の後には、qa/**/*
を使用して任意の数のスラッシュを含めることができます。これは、たとえばqa/foo/bar/foobar/hello-world
と一致します。qa**/**/*
を使いqa
の文字列を拡張して、より包括的にすることもできます。構文のオプションについて詳しくは、fnmatch のドキュメントを参照してください。
-
コーディング ガイドラインをテストして、期待どおりに動作することを確認します。
- [Add sample] をクリックします。
- 独自のサンプルを追加します。または、 [Generate code sample] をクリックして、タイトルと説明に基づいてコード サンプルを自動的に生成します。
- [Save] をクリックして、コード サンプルを保存します。
- [Run] をクリックし、サンプルに対してコーディング ガイドラインをテストします。
-
[Save guideline] をクリックし、コーディング ガイドラインを保存して有効にします。
コーディング ガイドラインを使用したレビューの実行
Copilot にレビューを要求すると、リポジトリの有効なコーディング ガイドラインを自動的に使ってコードのレビューが行われます。 詳しくは、「GitHub Copilot コード レビューの使用」をご覧ください。
コーディング ガイドラインに基づいて生成されたコメントには、そのソースを明確に示すメッセージが含まれます。
コーディング ガイドラインの例
例 1: マジック ナンバーの使用を避ける
タイトル: Avoid using magic numbers
説明: Don't use magic numbers in code. Numbers should be defined as constants or variables with meaningful names.
パス パターン: **/*.py
例 2: SQL クエリで SELECT *
を使用しない
タイトル: Don't use `SELECT *` in SQL queries
説明: Don't use `SELECT *` in SQL queries. Always specify the columns you want to select. `COUNT(*)` is allowed.
パス パターン: なし (SQL クエリはコードに埋め込まれる可能性があるため、すべてのファイルの種類に適用します)。
例 3: HTTP 要求に fetch
を使用する
タイトル: Use `fetch` for HTTP requests
説明: Use `fetch` for HTTP requests, not `axios` or `superagent` or other libraries.
パス パターン: **/*.ts
、**/*.js
、**/*.jsx
、**/*.tsx
例 4: 常にメトリックに現在の環境でタグを付ける
タイトル: Always tag metrics with the current environment
説明: Always include a `env` tag with the current environment when emitting metrics, for example, `env:prod` or `env:dev`.
パス パターン: */*.go
、*/*.java