AI Code Assistant - VS Code Extension
A powerful AI coding assistant that works like Cursor — right inside VS Code.
Supports Claude (Anthropic) and ChatGPT (OpenAI).
Features
- 🤖 AI Chat Sidebar — Ask anything about your code
- 📖 Explain Code — Select code → right click → explain
- 🐛 Fix Bugs — Select buggy code → right click → fix
- ⚡ Generate Code — Describe what you want → AI builds it
- 📁 Reads Your Repo — Understands your entire project structure
- 🚫 Respects .gitignore & .aiignore — Safe, no sensitive files sent
- 🔄 Infinite usage — No limits, uses your own API key
Installation
Step 1: Install dependencies
npm install
Step 2: Compile TypeScript
npm run compile
Step 3: Install vsce (VS Code Extension packager)
npm install -g vsce
Step 4: Package the extension
vsce package
This creates a .vsix file.
Step 5: Install in VS Code
1. Open VS Code
2. Press Ctrl+Shift+P
3. Type "Install from VSIX"
4. Select the .vsix file
Step 6: Setup API Keys
When VS Code starts, a popup will ask you to:
- Choose Claude or ChatGPT
- Enter your API key
Get Claude API key: https://console.anthropic.com
Get OpenAI API key: https://platform.openai.com
Usage
- Click the 🤖 icon in the activity bar
- Type your question
- Toggle "Include repo context" for project-aware answers
- Explain Selected Code — Understand any code
- Fix Bug in Selected Code — AI fixes it, shows in new file
- Generate Code from Prompt — Describe → AI generates
Commands (Ctrl+Shift+P)
AI Assistant: Open Chat
AI Assistant: Explain Selected Code
AI Assistant: Fix Bug in Selected Code
AI Assistant: Generate Code from Prompt
AI Assistant: Set API Keys
.aiignore File
Create a .aiignore file in your project root to exclude sensitive files from AI context:
.env
secrets.json
*.key
private/
Switching Between Claude and ChatGPT
Click ⚙️ Switch AI in the chat sidebar header, or run:
AI Assistant: Set API Keys from the command palette.
Project Structure
src/
├── extension.ts # Main entry point, command registration
├── aiService.ts # Claude + ChatGPT API calls
├── repoReader.ts # Reads repo, respects .gitignore/.aiignore
└── chatViewProvider.ts # Sidebar chat UI
media/
└── icon.svg # Extension icon
.aiignore.example # Example .aiignore file