A high-fidelity, premium VS Code sidebar chat extension powered by Google Gemini. It is designed to act as a semi-agentic assistant that helps you write, modify, and review code with precision, while respecting strict token limits and workspace boundaries.
Key Features
- Strict Context Control: Only includes the file contents you choose. It will automatically attach your active file and active selections, or you can manually pin files.
- Autocomplete File Selector: Simply type
@in the chatbox to trigger a smooth auto-suggest list of files in your workspace and append them to your prompt. - Interactive Semi-Agent Workflow: When Gemini proposes edits, they are displayed inside a custom action card with Show Diff, Accept, and Reject buttons right underneath the chat bubble.
- Side-by-Side Diff Reviews: Clicking Show Diff opens VS Code's native side-by-side diff view to review changes.
- Safe Editors Sync: Accepting modifications merges code blocks precisely into your open editor buffer using VS Code's
WorkspaceEditAPI, supporting native Undo (Ctrl+Z) out-of-the-box. - Model Selection with Usage Metrics: Choose which Gemini model to use from a dropdown in the header, complete with color-coded usage rate indicators.
- Secure Authentication Options: Log in via native Google OAuth2 or configure an API Key from Google AI Studio saved in VS Code's secure
SecretStorage.
Quick Start
- Install the Extension:
- Open VS Code and navigate to the Extensions sidebar.
- Search for SS-Gemini (or install from VSIX).
- Connect to Gemini:
- Click on the SS-Gemini icon in the Activity Bar.
- Click the gear icon (⚙️) to open the connection overlay.
- Select Sign In with Google or click Configure API Key and paste your API key.
- Start Chatting:
- Open a workspace file and highlight any selection.
- Type
@followed by a file name to attach additional files. - Ask Gemini to explain code, write helpers, or refactor functions!
Extension Settings
This extension contributes the following settings:
geminiChat.model: Sets the default Gemini model used for completions (gemini-2.5-flash,gemini-2.5-pro,gemini-1.5-flash,gemini-1.5-pro).
Contributing & License
Feel free to open issues or pull requests. Distributed under the MIT License.