このドキュメントでは、Gemini Code Assist のコード カスタマイズの使用方法と、いくつかのベスト プラクティスについて説明します。この機能を使用すると、組織の内部ライブラリ、非公開 API、コーディング スタイルに基づくコードの推奨事項を受け取ることができます。
始める前に
コード カスタマイズを使用する方法
次の表に、Gemini Code Assist のコード カスタマイズを使用する方法を示します。
フォーム | トリガー方法 | 注および資料 |
---|---|---|
自然言語チャット |
IDE の Gemini Code Assist チャットで自然言語プロンプトを入力します。 |
次の点を考慮してください。
詳細については、Gemini Code Assist でチャットするをご覧ください。 |
コードを生成 | IDE のクイック選択バーで、コードを選択しているかどうかにかかわらず、Command+Enter(macOS の場合)または Ctrl+Enter を押します。 | 詳細については、プロンプトを使用してコードを生成するをご覧ください。 |
コードを変換する | IDE のクイック選択バーで、コードを選択しているかどうかにかかわらず、/fix を入力します。 |
詳細については、プロンプトを使用してコードを生成するをご覧ください。 |
予測入力 | コードのカスタマイズは自動的にトリガーされ、入力内容に基づいて候補が表示されます。 | 次の点を考慮してください。
詳細については、コード補完を取得するをご覧ください。 |
リモート リポジトリのコンテキスト |
|
次の点を考慮してください。
詳細については、リモート リポジトリのコンテキストを使用して、より関連性の高い候補を取得するをご覧ください。 |
ユースケースとプロンプトの例
次の表に、特定のユースケースでコードのカスタマイズを使用する際のガイダンスと例を示します。
ユースケース | 試してみる価値のあるもの |
---|---|
新しいコードの記述 |
IDE または Gemini Code Assist チャットでコードを生成するには、次の操作を行います。
Gemini Code Assist チャットで次のプロンプトを使用してコードを生成してみてください。
コードを生成したら、フォローアップ プロンプトを使用してコードを改善してみてください。
|
コードのクリーンアップ、簡素化、リファクタリング |
Gemini Code Assist チャットで次のプロンプトを試してみてください。
|
読みやすさ |
Gemini Code Assist チャットで次のプロンプトを試してみてください。
|
コードレビュー |
Gemini Code Assist チャットで次のプロンプトを試してみてください。
|
デバッグ |
Gemini Code Assist チャットで次のプロンプトを試してみてください。
|
学習とオンボーディング |
Gemini Code Assist チャットで次のプロンプトを試してみてください。
|
移行 |
Gemini Code Assist チャットで次のプロンプトを試してみてください。
プロンプトを使用して、次のチャットベースの変換ワークフローまたはコード生成の変換ワークフローを試します。
|
ドキュメントの生成 |
Gemini Code Assist チャットで次のプロンプトを試してみてください。
|
単体テストの生成 |
Gemini Code Assist チャットで次のプロンプトを試してみてください。
|
ベスト プラクティス
- 関連する変数名、関数名、またはコード スニペットを使用する。これにより、コードのカスタマイズが、最も関連性の高いコードサンプルに導かれます。
- スケーリングするインデックス リポジトリを使用して、非推奨機能の追加を回避する。コードのカスタマイズは、コードベース全体でコードスタイル、パターン、コード セマンティクス、知識、実装にスケーリングするのに役立ちます。スケーリングするリポジトリの悪い例としては、非推奨の機能、生成されたコード、レガシー実装などがあります。
- コード取得のユースケースでは、コード補完ではなくコード生成機能を使用する。「
FUNCTION_NAME
の定義を使用して、まったく同じ関数を生成します」や「FUNCTION_NAME
の正確な実装を生成します」などの文言を使用してプロンプトを表示します。 - 取得するコードのファイルにインクルードまたはインポートを配置して、Gemini のコンテキスト認識を改善します。
- プロンプトごとに 1 つのアクションのみを実行する。たとえば、コードを取得して新しい関数に実装する場合は、2 つのプロンプトでこれらの手順を実行します。
- コード以外の情報(コードの説明、移行計画、エラーの説明など)が必要なユースケースでは、チャット用のコード カスタマイズを使用します。この場合、コンテキスト内のコードベースで Gemini と会話できます。
- AI モデルの生成は非決定的であるので注意してください。レスポンスに満足できない場合は、同じプロンプトを再度実行すると、より良い結果が得られる可能性があります。
- 単体テストの生成は、通常、ファイルをローカルで開き、チャットから、このファイルまたは特定の関数に対する単体テストの生成をリクエストするとうまく機能します。
リモート リポジトリのコンテキストを使用して、より関連性の高い候補を取得する
Gemini Code Assist に特定のリモート リポジトリに焦点を当てるよう指示することで、コンテキストをより認識した関連性の高いコード提案を取得できます。チャットで @ 記号を使用すると、プロンプトのコンテキストの主なソースとして使用するリポジトリを 1 つ以上選択できます。これは、特定のマイクロサービス、ライブラリ、モジュールに主に関連するタスクに取り組んでいる場合に便利です。
リモート リポジトリをコンテキストとして使用するには、IDE のチャットで次の手順を行います。
- プロンプトの先頭に @ 記号を入力します。インデックス登録されている使用可能なリモート リポジトリのリストが表示されます。
- リストから、コンテキストに使用するリポジトリを選択します。リポジトリ名の入力を開始して、リストをフィルタすることもできます。
- リポジトリを選択したら、プロンプトの残りの部分を入力します。
Gemini は、レスポンスを生成する際に、選択したリポジトリを優先します。
プロンプトの例
この機能の使用例をいくつかご紹介します。
- リポジトリを理解するには:
- 「@
REPOSITORY_NAME
このリポジトリの全体的な構造を教えてください。」 - 「@
REPOSITORY_NAME
新しいチームメンバーです。このリポジトリの目的と主要なモジュールの概要を教えてください。」
- 「@
- コードの生成と変更の場合:
- 「@
REPOSITORY_NAME
このリポジトリの関数と同様の認証関数を実装します。」 - 「@
REPOSITORY_NAME
選択したリポジトリの規約に従って、次のコードをリファクタリングします。」 - 「@
REPOSITORY_A_NAME
このリポジトリの最新の関数を使用して、REPOSITORY_B_NAME
のコードを改善するにはどうすればよいですか?」
- 「@
- テストの場合:
- 「@
UNIT_TEST_FILE_NAME
選択したファイルの例に基づいてMODULE
の単体テストを生成します。」
- 「@
リモート リポジトリをコンテキストの集中ソースとして使用すると、Gemini Code Assist からより正確で関連性の高い提案を得ることができます。これにより、より迅速かつ効率的にコーディングできます。