从 Gemini Code Assist 使用中排除文件

Gemini Code Assist 支持从代码生成、代码补全、代码转换和对话的上下文中排除文件。对于 Enterprise 用户,这还包括代码自定义。

在许多情况下,您会有不希望包含在上下文中的特定文件或子树。

您可以使用 .aiexclude.gitignore 文件排除这些文件。

配置上下文排除设置

本部分介绍如何为 .aiexclude.gitignore 文件配置设置。

将 .aiexclude 文件更改为您需要的文件

默认情况下,上下文排除设置为使用 .aiexclude。如需在 IDE 中更改此设置,请按以下步骤操作:

VS Code

  1. 在活动栏中,依次点击 设置 管理 > 设置

  2. 设置窗口中,前往扩展程序 > Gemini Code Assist。滚动屏幕,直到找到上下文排除文件

  3. 在文本字段中,将 .aiexclude 更改为您需要的位置。

您需要的文件现已设置为上下文排除文件。

IntelliJ

JetBrains IDE 不支持为 .aiexclude.gitignore 文件配置设置。

更改 .gitignore 上下文排除

默认情况下,.gitignore 文件处于启用状态,可用于上下文排除。该文件必须位于 Gemini Code Assist 的根工作文件夹中。系统不会考虑或合并位于子目录中的 .gitignore 文件。

如需在上下文排除中停用 .gitignore 文件,请按以下步骤操作:

  1. 在活动栏中,依次点击 设置 管理 > 设置

  2. 设置窗口中,前往扩展程序 > Gemini Code Assist。滚动屏幕,直到您找到上下文排除 Gitignore

  3. 取消选中相应复选框。

    现在,.gitignore 文件已停用,无法用于指定 Gemini Code Assist 要忽略的文件。

编写 .aiexclude 文件

.aiexclude 文件遵循以下语法:

示例

以下示例演示了如何配置 .aiexclude 文件:

  • 在包含 .aiexclude 文件的目录或该目录下,屏蔽所有名为 apikeys.txt 的文件:

    apikeys.txt
    
  • 在包含 .aiexclude 文件的目录或该目录下,屏蔽所有文件扩展名为 .key 的文件:

    *.key
    
  • 仅屏蔽与 .aiexclude 文件位于同一目录中的 apikeys.txt 文件,但不屏蔽任何子目录:

    /apikeys.txt
    
  • 屏蔽目录 my/sensitive/dir 及其所有子目录中的所有文件。路径应相对于包含 .aiexclude 文件的目录。

    my/sensitive/dir/
    
  • 屏蔽目录 foo 及其子目录中的所有文件,但 foo 目录中名为 bar.txt 的文件除外。

    foo/*
    !foo/bar.txt
    

针对代码自定义控制对索引的访问权限

默认情况下,代码自定义会将您指定代码库中所有受支持的代码文件编入索引。

为防止公开您不希望在上下文中使用的代码,您可以使用分支模式控制对索引的访问权限并使用稳定分支,例如 main

或者,您也可以通过创建 .aiexclude 文件,从上下文中排除文件。