Large Language Models

Google Gemini Code Assist Notes

Published 2025-10-06.
Time to read: 5 minutes.

This page is part of the llm collection.

I have been working with the free tier of Google Gemini Code Assist intensively for the past week. This product’s name appears to be fluid at the time of writing. Gemini Code Assist appears to be the overall product name for various components, including Gemini CLI and Gemini for Google Cloud.

Gemini Code Assist is free for individuals with generous usage limits. The free tier allows 60 requests/minute and 1,000 requests/day with a personal Google account. After 1,000 requests in one day, you really should take a break and do something physical.

Gemini CLI is Apache 2.0 licensed (GitHub repository).

There’s no fully offline mode, so Google Gemini requires an internet connection and Google account credentials to use the model.

As an early-stage technology, Gemini Code Assist can generate output that seems plausible but is factually incorrect. We recommend that you validate all output from Gemini Code Assist before you use it. For more information, see Gemini Code Assist and responsible AI.

Gemini Code Assist provides citation information when it directly quotes at length from another source, such as existing open-source code. For additional information, see How and when Gemini cites sources.

This document describes how to configure and use Gemini Code Assist agent mode as a pair programmer in your integrated development environment (IDE).

With agent mode, you can do any of the following and more:

  • Ask questions about your code.
  • Use context and built-in tools to improve generated content.
  • Configure MCP servers to extend the agent's abilities.
  • Get solutions to complex tasks with multiple steps.
  • Generate code from design documents, issues, and TODO comments.
  • Control the agent behavior by commenting on, editing, and approving plans and tool use during execution.

Caution: There isn't an option to undo changes made to resources outside your IDE in agent mode, so be careful where you use it.

You can use the coreTools and excludeTools settings to control which tools Gemini has access to in agent mode. The Gemini documentation has more information.

To learn more about Gemini Code Assist capabilities, see the Gemini Code Assist documentation. To learn more about Gemini CLI, see the Gemini CLI documentation.

Lessons Learned

This product is properly thought of as a pair programmer who is energetic, uneven in its knowledge, and a creature of the other people's habits that it learned from. It cannot reason; it merely follows patterns of behavior learned from others. Hopefully some good habits, but unfortunately some bad habits creep in as well.

If you do not set some ground rules for the interaction, Gemini Code Assist will introduce chaos into your project.

Together, Visual Studio Code and Gemini Code Assist continuously monitor every keystroke you make. This can provide a big assist, at the cost of privacy. Pair programming works this way.

Moving the Gemini Code Assist pane to the secondary panel makes it convenient to view and hide it by pressing CTRL-ALT-B.

Write better prompts for Gemini for Google Cloud.

Use Git for Checkpointing

After each time I ask Gemini Code Assist to make changes, I test the changes right away. Changes that might be worth keeping are committed to a temporary Git branch. Undesirable changes can be rolled back to the state of the last commit by typing:

Shell
$ git checkout . && git clean -fd

Here is a Bash script to perform the above:

reset
#!/bin/bash

git checkout . # restores project
git clean -fd  # Nukes untracked files and directories

You could also define a Bash alias to perform the same task:

~/.bash_aliases fragment
alias reset='git checkout . && git clean -fd'

Installation

I installed Google Gemini Code Assist as a Visual Studio Code extension. It is also available for Firebase, Android Studio, IntelliJ, Google Cloud Databases, BigQuery, and Apigee.

The easy way to install Gemini Code Assist:

  1. Navigate to the Visual Studio Code Extensions tab
  2. Search for "Gemini Code Assist"
  3. Click Install (VS Code Extension)
  4. Sign in with a Google account via the Gemini tab in the left panel

Features

Key built-in commands include:

  • /tools - lists Gemini Code Assist’s available tools, which were, at time of writing:
    • ReadFile: Reads the content of a file.
    • WriteFile: Writes content to a file.
    • Shell: Executes a shell command.
    • WebSearch: Performs a web search.
    • GoToDefinition: Finds the definition of a symbol in the codebase.
    • FindReferences: Finds all references to a symbol.
    • Build: Builds the project.
    • UnitTest: Runs unit tests for your code.
  • /memory, /stats, /mcp - inspect the agent’s internal memory or statistics, or configure MCP (Model Context Protocol) servers.
  • Built-in tools like grep, Shell (to run arbitrary commands), and file I/O utilities (ReadFile, WriteFile) give Gemini Code Assist direct access to your environment.
  • Reference specific files or folders in a chat using the @ symbol (e.g., @file_name) to provide context. For example: Explain the difference between @file1.rb and @file2.rb.

Settings

Visual Studio Code Settings for Gemini Code Assist

Visual Studio Code settings for Google Gemini Code Assist can be displayed and modified by pressing CTRL-SHIFT-P and then typing geminicodeassist.

The interaction between Visual Studio Code and Gemini Code Assist is defined by %AppData%/Code/User/settings.json.

C:\Users\Mike Slinn\AppData\Roaming/Code/User/settings.json
"geminicodeassist.agentYoloMode": false,
"geminicodeassist.inlineSuggestions.enableAuto": false,
"geminicodeassist.inlineSuggestions.nextEditPredictions": true,
"geminicodeassist.inlineSuggestions.suggestionSpeed": "Fast",
"geminicodeassist.rules": "Respect the formatting I provide.\nAlways generate unit tests for new functions and classes.\nAlways generate inline documentation for new functions and classes.\n",

Warning: Enabling gemini­code­assist.inline­Suggestions.next­Edit­Predictions makes Visual Studio Code unusable.

The geminicodeassist.rules setting takes a single string value. Separate rules with \n. This user interface is awkward to work with, especially as the rules grow. A better user interface is available in the settings for the Gemini Code Assist extension. To display it, press CTRL-SHIFT-P and type geminicodeassist.rules. There is no way to bind this to a hotkey, unfortunately.

YOLO mode in Gemini Code Assist disables confirmation prompts, allowing the AI to automatically execute tasks like running code or modifying files without user approval, a feature available when using Gemini Code Assist or the Gemini CLI. It is useful for automating reliable tasks but should be used with caution, especially with critical files, as it bypasses safety checks that would normally be in place to prevent expensive mistakes.

Warning: Enabling geminicodeassist.agentYoloMode allows Gemini Code Assist to make changes without confirmation. This can be a terrible idea!

Detailed Gemini Code Assist Settings

Detailed Gemini Code Assist settings are stored in $HOME/.gemini/settings.json.

/home/mslinn/.gemini/settings.json

For more advanced customization, create a .gemini/ folder in the root of your repository. Inside this folder, you can add config.yaml for various configurable features (like specifying files to ignore) and styleguide.md to provide specific instructions for code reviews. See Chat with Gemini Code Assist Standard and Enterprise.

Hotkeys

Defaults

The following hotkeys are available by default:

Escape Reject code completion or suggestion

TAB Accept suggestion or start session

ALT-/ Disable context hint

ALT-A Accept suggestion

ALT-D Decline suggestion

ALT-G Toggle Gemini Code Assist

CTRL-Enter Generate code

CTRL-I manage Gemini Code Assist rules and other settings

CTRL-S Save keys clicked

CTRL-ALT-X Pin selection to current chat prompt

My Custom Hotkeys

CTRL-ALT-U Generate unit tests

* indicates a required field.

Please select the following to receive Mike Slinn’s newsletter:

You can unsubscribe at any time by clicking the link in the footer of emails.

Mike Slinn uses Mailchimp as his marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices.