.aiexclude ファイルを使用してコンテキスト共有を設定する

プロジェクトに .aiexclude ファイルを含めることで、IDX で Gemini から非表示にするコードベースのファイルを制御できます。.gitignore ファイルと同様に、.aiexclude ファイルは、IDX で Gemini と共有すべきでないファイルを追跡します。これには、チャット エクスペリエンスやエディタで動作する AI 機能が含まれます。.aiexclude ファイルは、そのファイルを含むディレクトリ以下にあるファイルを操作します。

コードベース インデックスが有効になっている場合、.aiexclude に該当するファイルは Gemini によってインデックスに登録されません。また、.aiexclude は、カバー対象ファイルのインライン アシスタンスに次のように影響します。

  • チャット アシスタンス: Gemini は、.aiexclude に該当するファイルに関する質問に回答したり、候補を提案したりできなくなります。
  • コード補完: カバー対象のファイルを編集しているときに、コード補完の候補は使用できません。
  • インライン アシスタンス: 新しいコードを生成できますが、カバー対象のファイルを編集するときに既存のコードは変更できません。

Android Studio などの他の開発環境でも、.aiexclude ファイルを使用できます。

.aiexclude ファイルを作成する方法

.aiexclude ファイルは .gitignore ファイルと同じ構文に従いますが、次の点が異なります。

  • 空の .aiexclude ファイルは、そのディレクトリとすべてのサブディレクトリ内のすべてのファイルをブロックします。これは、**/* を含むファイルと同じです。
  • .aiexclude ファイルは否定(パターンに ! を接頭辞として追加)をサポートしていません。

次に、.aiexclude ファイルの構成例を示します。

.aiexclude ファイルを含むディレクトリ以下にある apikeys.txt という名前のすべてのファイルをブロックします。

apikeys.txt

.aiexclude ファイルを含むディレクトリ以下にある、.key ファイル拡張子を持つすべてのファイルをブロックします。

*.key

.aiexclude と同じディレクトリにある apikeys.txt ファイルのみをブロックし、サブディレクトリはブロックしません。

/apikeys.txt

ディレクトリ my/sensitive/dir とすべてのサブディレクトリ内のすべてのファイルをブロックします。パスは、.aiexclude ファイルを含むディレクトリを基準とする相対パスにする必要があります。

my/sensitive/dir/