Gemini Code Assist supports excluding files from your context for code generation, code completion, code transformation, and chat. For Enterprise users, this also includes code customization.
In many scenarios, you'll have specific files or subtrees that you don't want to have included in your context.
You can exclude these files through the use of an .aiexclude or .gitignore
file.
Configure context exclusion settings
This section shows you how to configure settings for .aiexclude and
.gitignore files.
Change .aiexclude file to your preferred file
By default, context exclusion is set to use .aiexclude. To change this setting
in your IDE, follow these steps:
VS Code
In the activity bar, click settings Manage > Settings.
In the Settings window, navigate to Extensions > Gemini Code Assist. Scroll until you find Context Exclusion File.
In the text field, change
.aiexcludeto your preferred location.
Your preferred file is now set as the context exclusion file.
IntelliJ
Configuring settings for .aiexclude and .gitignore files isn't
supported in JetBrains IDEs.
Change .gitignore context exclusion
By default, the .gitignore file is enabled for context exclusion. The file
must be located in the root working folder for
Gemini Code Assist. .gitignore files located in subdirectories
won't be considered or merged.
To disable .gitignore files from context exclusion, follow these steps:
In the activity bar, click settings Manage > Settings.
In the Settings window, navigate to Extensions > Gemini Code Assist. Scroll until you find Context Exclusion Gitignore.
Unselect the checkbox.
.gitignorefiles are now disabled for specifying file Gemini Code Assist to ignore.
Write an .aiexclude file
An .aiexclude file follows the same syntax as a .gitignore file.
Examples
The following examples demonstrate how you can configure an .aiexclude file:
Block all files named
apikeys.txtat or below the directory that contains the.aiexcludefile:apikeys.txtBlock all files with the
.keyfile extension at or below the directory that contains the.aiexcludefile:*.keyBlock only the
apikeys.txtfile at the same directory as the.aiexcludefile, but not any subdirectories:/apikeys.txtBlock all files in the directory
my/sensitive/dirand all subdirectories. The path should be relative to the directory that contains the.aiexcludefile.my/sensitive/dir/Blocks all the files in directory
fooand its subdirectories except file namedbar.txtin the foo directory.foo/* !foo/bar.txt
Control access to index for code customization
By default, code customization indexes all the supported code files in your specified repositories.
To prevent exposure of code that you don't want to be used in the context, you
can use branch patterns to
control access to your index
and use a stable branch, such as main.
Alternatively, you can also exclude files from the context by
creating an .aiexclude file.