コードのカスタマイズの概要

Gemini Code Assist の機能であるコード カスタマイズを使用すると、組織のプライベート リポジトリに基づいて、組織のコーディング スタイルに合わせて Gemini Code Assist からコード候補を取得できます。

コードのカスタマイズにより、Gemini Code Assist はプライベート リポジトリ内のコードを分析してプライベート インデックスに保存し、コードにアクセスできます。次の図に示します。

コードのカスタマイズでは、Gemini Code Assist をコード リポジトリに接続します。これにより、Gemini Code Assist は IDE でコーディングの候補を提案できます。

コードを記述するときに、Gemini Code Assist は、記述しようとしているコードに類似するコードをプライベート インデックスで検索します。次に、関連する一致をコード プロンプトに含め、これらの一致を Gemini Code Assist の推奨事項サービスに送信します。コードのカスタマイズでは、コードベースのインデックスを 24 時間ごとに再作成して、コードの候補が常に最新の状態になるようにします。Gemini Code Assist は、生成されたコードを返します。

コードベース全体の認識機能は、現在のフォルダ内のファイルと IDE で開いているタブの検索に限定されていますが、コードのカスタマイズでは、インデックス内のすべてのリポジトリが検索されます。コードのカスタマイズが設定されると、コード補完機能とコード生成機能の一部として機能します。

Gemini Code Assist とコード カスタマイズはどちらもマネージド サービスです。使用ライセンスは、1 か月あたりの席数でライセンスされます。

非公開コードへのアクセスと保存を保護する

Google は、保存された非公開コードのセキュリティを次のような方法で提供しています。

  • コードは、専用のシングルテナント環境にインデックス化され、保存されます。
  • 管理アクセス制御を使用すると、Google 社員が理由や、必要に応じて明示的な承認なしでコンテンツにアクセスするのを防ぐことができます。
  • Gemini モデルは、非公開のソースコードでトレーニングされません。
  • 結果はお客様専用であり、他のお客様と共有されることはありません。

Google のセキュリティ対策の詳細については、Google セキュリティの概要をご覧ください。

データへのアクセスを管理する方法は次のとおりです。

  • Identity and Access Management(IAM)権限を使用すると、コードベースからコード候補を取得できるユーザーを制御できます。
  • .aiexclude ファイルを作成して、Gemini Code Assist がインデックスに登録する特定のリポジトリまたはリポジトリの一部を選択できます。

IDE でコードのカスタマイズを構成して使用する方法については、Gemini Code Assist のコード カスタマイズを構成して使用するをご覧ください。

制限事項

  • Google では、コード リポジトリ インデックスの数をプロジェクトごとに 1 つ、組織ごとに 1 つに制限しています。コード リポジトリのインデックスがさらに必要な場合は、割り当ての増加をリクエストできます。
  • インデックスに登録できるリポジトリの最大数は 950 です。
  • コードのカスタマイズは、Gemini Code Assist + Cloud Code 拡張機能(バージョン 2.18.0 以降)をインストールした VS Code、Gemini Code Assist/Cloud Code プラグイン(バージョン 1.1.0)をインストールした IntelliJ、Cloud Workstations、Cloud Shell エディタでサポートされています。
  • コードのカスタマイズでは VPC Service Controls はサポートされていません。
  • コードのカスタマイズでは、ドキュメント、メディア、その他のコード以外のファイルはインデックスに登録されません。詳細については、このドキュメントのサポートされているコーディング言語をご覧ください。
  • コードのカスタマイズは、GitHub.com または GitLab.com でホストされているリポジトリのみをサポートしています。
  • コードのカスタマイズは、次のロケーション(リージョン)の Developer Connect 接続のみをサポートしています。
    • us-central1
    • europe-west1
    • asia-southeast1

サポートされているコーディング言語

コードのカスタマイズでは、次のコーディング言語がサポートされています。

  • C、C++、C#
  • Golang
  • Java
  • JavaScript
  • Kotlin
  • PHP
  • Python
  • Rust
  • TypeScript

その他のコーディング言語は、インデックスに登録されず、コードのカスタマイズにも使用されません。コーディング言語のサポートをリクエストするには、このページの [フィードバックを送信] をクリックし、[サービスに関するフィードバック] を選択します。