

Code Assist is your IDE AI coding assistant powered by Gemini. It is available in Visual Studio IDE and JetBrains IDE. You can read more installing this at the official site: https://codeassist.google/
Gemini Code Assist has undergone several updates recently that address key usability challenges that plagued it and if you have not been using it for a while, I request you to take a look at it again.
First up, I wanted to reiterate a few key points that are important and which make Gemini Code Assist a strong contender in the AI Assistant in the IDE space.
- Large Context window
- Powered by Gemini 2.5 Pro
I am using the Visual Studio Extension of Gemini Code Assist and if you’d like to install that, you can visit the following page:
If you would like to directly dive into Gemini Code release notes, we have that page too: https://cloud.google.com/gemini/docs/codeassist/release-notes
If you have Gemini Code Assist Visual Studio IDE extension installed, note that several settings are available via the VS Code → Extensions. Select Gemini Code Assist and then Settings icon. This will bring up the Gemini Code Assist specific settings as shown below:
There are 3 settings here in my opinion, that you should absolutely be aware about:
- Geminicodeassist: Enable
This is a quick switch to enable Gemini Code Assist in VS Code. Ensure that this is on, if you plan to use Gemini Code Assist.
Keep in mind that if you disable this option and the enable it, you will need to reload VS Code for Gemini Code Assist to come back.
2. Geminicodeassist: Project
This is the Google Cloud project id, which is important if you are using the Standard or the Enterprise version.
3. Geminicodeassist: Update Channel
This is the channel that determines your current version of the extension. Stick to Default
to be with the latest tested version of the Extension. If you are upto it, you can go for the Insiders
version too, which may have some cutting edge features but be prepared to rollback to the Default
channel.
Ideally, if the above settings are done correctly, you should be able to see the Gemini Code Assist icon in the lower right bottom, enabled and looking like this:
If there is a cross across it — do look at one of the following possible reasons:
1. Incorrect project id
2. Lack of permissions (IAM)
3. Required Google Cloud service APIs not enabled in your project
One of the things that I usually do is to click on the Gemini Code Assist and ensure that I am logged in with the correct account (in case you have multiple of them), the correct Google Cloud project is selected. A sample options screen that comes up when you click on the Gemini Code Assist icon is shown below:
Make it a habit to ensure that everything looks good here before you move on with your work.
Some other settings
Some of the other settings might be setup for you with sensible defaults but a few are worth a mention here:
Streaming settings
If you prefer streaming, then there are a couple of options to look at. One is Enable Streaming option to enable streaming in the first place when it comes to receiving responses. Additionally, there is also an option to automatically scroll the chat during Gemini response streaming.
and
The next one to consider is the .aiexclude
file. You can provide a file in the root of the folder and provide patterns of files / folders that Gemini Code Assist should absolutely ignore when considering the request context. Alternatively, if you prefer to use .gitignore
then that works too.
If you’d like to see some samples on how the .aiexclude
file is written, check out the documentation here.
Keep in mind the following important points:
- My suggestion is to stick to one pattern i.e.
.gitignore
or.aiexclude
and put in your rules there. - My preference is for using
.aiexclude
so that I am clear that this files is for giving directions to Gemini to ignore those files for the context. - The documentation states that if you are using both, then the
.aiexclude
directive will take precedence. - For Code Customization feature of Gemini Code Assist (An Enterprise feature), you will need to use
.aiexclude
only.
One final setting to consider is Max Cited Length
, which by default is set to -1
i.e. no blocking for any code snippets with citations. You can set it to 0
if you want to block all code suggestions with citations. Alternately, you can set this to a specific number, so that code snippets larger than that number will be blocked. I find it a bit difficult to understand what specific number I might set it to, but for now, I am just mentioning that this setting is there.
In no specific order of importance, I’d like to highlight key usability improvements that have been rolled into Gemini Code Assist in recent times. Let’s move on to those.
One of the biggest complaints that I had with earlier versions of Gemini Code Assist extension was that there was no way to look up the history of chat sessions. You refresh the chat and/or restart Visual Studio Code and you have lost all your previous interactions. This was very painful but that’s now addressed via support for previous conversations.
Click on that and you have access to a number of your previous conversations, which have the messages to and fro between you and Gemini Code Assist. You can select any of the messages and get the history.
A sample list from my setup is shown below:
Its not just about accessing previous chat history but if you want a new chat session, simply click on the + icon nexxt to the chat history icon.
I mentioned earlier that Gemini Code Assist has its own release notes but you can get that directly from the extension itself. It is accessible What’s new (Release notes)
from the top menu settings as shown below:
Gemini Pro 2.5 provides the industry leading context size and you have the ability to reference various files, folders and more. The Context Drawer shown below is a great way to understand the current context at the time of prompting. By default it provides the Current file
(Active Tab) in the context as shown below.
Additionally, if you use the @files
and @folders
option in the prompt to select files/folders respectively, those will get added to the context and also in the context drawer, so that you can see at a quick glance what is included in the context and you do have an option to toggle (include or exclude it).
As an example, I include a file and a folder in the context and the context drawer is shown below:
Another time saving feature is Custom Commands. If you have been using Gemini Code Assist for a while, you know that there are standard commands/actions available from say the Smart Actions menu. You would recognize /generate
, /fix
, etc. The screen is shown below.
You will notice that there is something new here. I have two additional commands shown under the Custom commands section : /add-comments
and /add-exception-handling
. These have been added by going to the Custom commands section from VS Code → Extensions → Gemini Code Assist → Settings.
An Usage example is shown, which I created but I also added another one that was mentioned in the article here. You can add more via the Add Item
button. This definitely saves keystrokes and time.
These custom commands will also appear in-context of the code editor, as shown below:
If you visit the Rules setting for Gemini Code Assist, it comes up as follows and it could be a bit confusing.
Rules are specific instructions that you want to give to Code Assist and you can have these in natural language and one rule per line in the edit box. Check out the official documentation on Rules.
In my case, I have something like this, but you could get innovative here and see if it works for you. Also note that this can be done at either User and/or Workspace level as mentioned in the instructions.
Hope this helps you understand some of the settings in Gemini Code Assist extensions. I will keep updating this document as I come across more. If you have interesting commands and rules that you have setup, that would be great to share in the comments.
Source Credit: https://medium.com/google-cloud/gemini-code-assist-extension-customization-features-8925782c6a6f?source=rss—-e52cf94d98af—4