使用 .aiExclude 文件配置上下文共享

您可以在项目中添加 .aiexclude 文件,以控制哪些代码库文件应在 IDX 中对 Gemini 隐藏。与 .gitignore 文件非常相似,.aiexclude 文件会跟踪 IDX 中不应与 Gemini 共享的文件,包括聊天体验以及在编辑器中运行的 AI 功能。.aiexclude 文件会对包含它的目录中或下方的文件进行操作。

启用代码库索引后,Gemini 不会为 .aiexclude 涵盖的文件编制索引。此外,.aiexclude 还会通过以下方式影响对已覆盖文件的内嵌帮助:

  • Chat 协助: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/