Stay organized with collections
Save and categorize content based on your preferences.
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
settingsManage >
Settings.
In the Settings window, navigate to Extensions >
Gemini Code Assist. Scroll until you find Context Exclusion File.
In the text field, change .aiexclude to 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
settingsManage >
Settings.
In the Settings window, navigate to Extensions >
Gemini Code Assist. Scroll until you find Context Exclusion Gitignore.
Unselect the checkbox.
.gitignore files are now disabled for specifying file Gemini Code Assist to ignore.
Write an .aiexclude file
An .aiexclude file follows the following syntax:
Examples
The following examples demonstrate how you can configure an .aiexclude file:
Block all files named apikeys.txt at or below the directory that contains
the .aiexclude file:
apikeys.txt
Block all files with the .key file extension at or below the directory that
contains the .aiexclude file:
*.key
Block only the apikeys.txtfile at the same directory as the .aiexclude
file, but not any subdirectories:
/apikeys.txt
Block all files in the directory my/sensitive/dir and all subdirectories.
The path should be relative to the directory that contains the .aiexclude
file.
my/sensitive/dir/
Blocks all the files in directory foo and its subdirectories except file
named bar.txt in 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 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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-25 UTC."],[[["\u003cp\u003eGemini Code Assist indexes all supported code files in your repositories by default, but you can exclude specific files or subtrees using an \u003ccode\u003e.aiexclude\u003c/code\u003e file.\u003c/p\u003e\n"],["\u003cp\u003eAn \u003ccode\u003e.aiexclude\u003c/code\u003e file uses a similar syntax to \u003ccode\u003e.gitignore\u003c/code\u003e, but an empty file blocks all files in its directory and subdirectories, and negation with an exclamation point is not supported.\u003c/p\u003e\n"],["\u003cp\u003eYou can block specific files, file types, or entire directories by listing their names, extensions, or relative paths in the \u003ccode\u003e.aiexclude\u003c/code\u003e file.\u003c/p\u003e\n"],["\u003cp\u003eIf a file is added to \u003ccode\u003e.aiexclude\u003c/code\u003e after being indexed, it will be removed from the index within 24 hours.\u003c/p\u003e\n"]]],[],null,["# Exclude files from Gemini Code Assist use\n\n\u003cbr /\u003e\n\nGemini Code Assist supports excluding files from your context for code\ngeneration, code completion, code transformation, and chat. For Enterprise\nusers, this also includes code customization.\n\nIn many scenarios, you'll have specific files or subtrees that you don't want\nto have included in your context.\n\nYou can exclude these files through the use of an `.aiexclude` or `.gitignore`\nfile.\n| **Note:** For [code customization](/gemini-code-assist/docs/code-customization-overview) only the `.aiexclude` file is used.\n\nConfigure context exclusion settings\n------------------------------------\n\nThis section shows you how to configure settings for `.aiexclude` and\n`.gitignore` files.\n\n### Change .aiexclude file to your preferred file\n\nBy default, context exclusion is set to use `.aiexclude`. To change this setting\nin your IDE, follow these steps: \n\n### VS Code\n\n1. In the activity bar, click\n settings **Manage** \\\u003e\n **Settings**.\n\n2. In the **Settings** window, navigate to **Extensions** \\\u003e\n **Gemini Code Assist** . Scroll until you find **Context Exclusion File**.\n\n3. In the text field, change `.aiexclude` to your preferred location.\n\nYour preferred file is now set as the context exclusion file.\n\n### IntelliJ\n\nConfiguring settings for `.aiexclude` and `.gitignore` files isn't\nsupported in JetBrains IDEs.\n\n### Change .gitignore context exclusion\n\nBy default, the `.gitignore` file is enabled for context exclusion. The file\nmust be located in the root working folder for\nGemini Code Assist. `.gitignore` files located in subdirectories\nwon't be considered or merged.\n\nTo disable `.gitignore` files from context exclusion, follow these steps:\n\n1. In the activity bar, click\n settings **Manage** \\\u003e\n **Settings**.\n\n2. In the **Settings** window, navigate to **Extensions** \\\u003e\n **Gemini Code Assist** . Scroll until you find **Context Exclusion Gitignore**.\n\n3. Unselect the checkbox.\n\n `.gitignore` files are now disabled for specifying file Gemini Code Assist to ignore.\n\nWrite an `.aiexclude` file\n--------------------------\n\n| **Note:** In the event that a conflict exists between `.aiexclude` and `.gitignore`, the `.aiexclude` directive preempts `.gitignore` directives.\n\nAn `.aiexclude` file follows the following syntax:\n\n### Examples\n\nThe following examples demonstrate how you can configure an `.aiexclude` file:\n\n- Block all files named `apikeys.txt` at or below the directory that contains\n the `.aiexclude` file:\n\n apikeys.txt\n\n- Block all files with the `.key` file extension at or below the directory that\n contains the `.aiexclude` file:\n\n *.key\n\n- Block only the `apikeys.txt`file at the same directory as the `.aiexclude`\n file, but not any subdirectories:\n\n /apikeys.txt\n\n- Block all files in the directory `my/sensitive/dir` and all subdirectories.\n The path should be relative to the directory that contains the `.aiexclude`\n file.\n\n my/sensitive/dir/\n\n- Blocks all the files in directory `foo` and its subdirectories except file\n named `bar.txt` in the foo directory.\n\n foo/*\n !foo/bar.txt\n\nControl access to index for code customization\n----------------------------------------------\n\nBy default, code customization indexes all the\n\n[supported code files](/gemini-code-assist/docs/code-customization-overview#limitations)\nin your specified repositories.\n\nTo prevent exposure of code that you don't want to to be used in the context,\nyou can use branch patterns to\n\n[control access to your index](/gemini-code-assist/docs/code-customization#control_access_to_your_index_using_repository_groups)\nand use a stable branch, such as `main`.\n\nAlternatively, you can also exclude files from the context by\n[creating an `.aiexclude` file](#write_an_aiexclude_file)."]]