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 WorkspaceEdit API, 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.