Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>First CoderNew to Visual Studio Code? Get it now.
First Coder

First Coder

Sudhir Pothineni

|
3 installs
| (0) | Free
AI-powered coding assistant with chat, completions, and code generation using AWS Bedrock models
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

First Coder - AI Coding Assistant

Your AI-powered coding companion using AWS Bedrock models. Chat, code completions, and intelligent code generation - all in VS Code.

Features

💬 Interactive Chat

  • Sidebar Chat Interface: Clean, modern chat integrated into VS Code
  • Streaming Responses: Real-time AI responses as they're generated
  • Conversation History: Maintains context across messages
  • Model Selection: Choose from 44+ Bedrock models via dropdown
  • Expandable Window: Open chat in separate panel for side-by-side work
  • Copy Messages: One-click copy button for AI responses

👻 Inline Code Completions

  • Ghost Text Suggestions: AI-powered completions as you type (like Copilot)
  • Smart Debouncing: Waits for you to pause before fetching (saves API calls)
  • Intelligent Caching: Remembers recent suggestions for instant retrieval
  • Context-Aware: Analyzes surrounding code for relevant suggestions
  • Multi-Language: Works across all file types

⚡ Code Generation

  • Generate from Comments: Transform comments into working code
  • Right-Click Command: Select text and generate code instantly
  • Context-Sensitive: Uses your project context for better results

🤖 44+ AI Models

  • Claude: 4.5 Sonnet, 4.5 Haiku, 3.7 Sonnet, 3.5 Sonnet/Haiku, 3 Opus/Sonnet/Haiku
  • Amazon Titan: Nova Pro/Lite/Micro, Text Premier/Express/Lite
  • Meta Llama: 3.3 70B, 3.2 (90B/11B/3B/1B), 3.1 (405B/70B/8B)
  • Mistral AI: Large 2, Large, Small, 7B, Mixtral 8x7B
  • AI21 Labs: Jamba 1.5 Large/Mini, Jamba Instruct, Jurassic-2 Ultra/Mid
  • Cohere: Command R+/R, Command/Command Light

⚙️ Fully Configurable

  • AWS Authentication: Profile, role-based, or direct credentials
  • Region Selection: Choose your Bedrock-enabled AWS region
  • Model Preferences: Set default model and parameters
  • Performance Tuning: Adjust debounce delay, context window, temperature
  • Feature Toggles: Enable/disable inline suggestions as needed

Prerequisites

  • VS Code 1.85.0 or higher
  • AWS account with Bedrock access
  • AWS credentials configured locally

Installation

From VS Code Marketplace

  1. Open VS Code
  2. Go to Extensions view (Cmd/Ctrl + Shift + X)
  3. Search for "First Coder"
  4. Click Install

From VSIX File

  1. Download the .vsix file
  2. In VS Code, go to Extensions view
  3. Click "..." menu → "Install from VSIX..."
  4. Select the downloaded file

Setup

1. Configure AWS Authentication

The extension supports three authentication methods. Choose the one that best fits your needs:

Option A: Profile-Based Authentication (Recommended)

Use AWS CLI profiles for secure credential management.

  1. Configure AWS CLI:

    aws configure --profile your-profile-name
    
  2. In VS Code Settings, set:

    • Auth Method: profile
    • AWS Profile: Your profile name (e.g., default)

Option B: Role-Based Authentication (AssumeRole)

Assume an IAM role for cross-account access or enhanced security.

  1. Configure a base AWS profile (see Option A)

  2. In VS Code Settings, set:

    • Auth Method: role
    • AWS Profile: Base profile to use for assuming the role
    • AWS Role ARN: ARN of the role to assume (e.g., arn:aws:iam::123456789012:role/BedrockRole)
    • AWS Role Session Name: Optional session name (default: bedrock-chat-session)

Option C: Direct Credentials

Use access keys directly (not recommended for production).

⚠️ Security Warning: Storing credentials in VS Code settings is less secure than using profiles or roles. Use this only for testing or temporary access.

In VS Code Settings, set:

  • Auth Method: credentials
  • AWS Access Key ID: Your access key
  • AWS Secret Access Key: Your secret key
  • AWS Session Token: Optional, for temporary credentials

2. Enable Bedrock Models

  1. Log in to AWS Console
  2. Navigate to Amazon Bedrock
  3. Go to "Model access" in the left sidebar
  4. Request access to the models you want to use:
    • Anthropic Claude models
    • Amazon Titan models
    • Meta Llama models

3. Configure Extension Settings

Open VS Code Settings (Cmd/Ctrl + ,) and search for "First Coder":

Core Settings:

  • Auth Method: Choose authentication method (profile, role, or credentials)
  • AWS Profile: Set your AWS profile name (default: "default")
  • AWS Region: Select the region where Bedrock is available (e.g., us-east-1)
  • Default Model: Choose your preferred model
  • Max Tokens: Maximum response length (default: 4096)
  • Temperature: Response creativity 0-1 (default: 0.7)

Coding Assistant Settings:

  • Enable Inline Suggestions: Toggle ghost text completions (default: true)
  • Suggestion Delay: Debounce delay in ms before fetching suggestions (default: 600)
  • Max Context Window: Characters to send as context for completions (default: 2000)

Usage

AI Coding Assistant Features

🎯 Inline Code Completions (Ghost Text)

First Coder provides AI-powered code suggestions as you type, similar to GitHub Copilot.

How it works:

  1. Start typing in any code file
  2. Pause for ~600ms (configurable)
  3. Gray "ghost text" suggestions appear
  4. Press Tab to accept, or keep typing to ignore

Example:

function calculateFibonacci(n: number) {
    // Pause here, and First Coder suggests:
    // if (n <= 1) return n;
    // return calculateFibonacci(n - 1) + calculateFibonacci(n - 2);
}

Performance Features:

  • Debouncing: Only fetches suggestions after you stop typing (saves API calls)
  • Caching: Remembers recent suggestions for instant retrieval
  • Context-Aware: Analyzes surrounding code for relevant suggestions

Configuration:

{
  "firstCoder.enableInlineSuggestions": true,
  "firstCoder.suggestionDelay": 600,
  "firstCoder.maxContextWindow": 2000
}

⚡ Generate Code from Comments

Transform comments into working code with a single command.

How to use:

  1. Write a comment describing what you want:
    // Create a function to validate email addresses using regex
    
  2. Select the comment
  3. Right-click → "First Coder: Generate Code"
  4. Code is inserted below the comment

Also available via:

  • Command Palette: Cmd/Ctrl + Shift + P → "First Coder: Generate Code"
  • Works with any selected text or instruction

Chat Interface

Opening the Chat

  1. Click the chat icon in the Activity Bar (left sidebar)
  2. Or use Command Palette (Cmd/Ctrl + Shift + P) → "First Coder: Open Chat"

Sending Messages

  1. Type your message in the input field
  2. Press Enter or click "Send"
  3. The AI will respond with streaming output

Changing Models

  • Use the dropdown at the top of the chat panel
  • Or use Command Palette → "First Coder: Change Model"

Expanding Chat

  • Click the window icon ($(window)) in the title bar to open chat in a separate panel
  • Useful for side-by-side coding and chatting

Clearing History

  • Use Command Palette → "First Coder: Clear History"

Supported Models

Model ID Best For
Claude 4.5 Opus us.anthropic.claude-opus-4-5-20251101-v1:0 Most powerful, complex tasks
Claude 4.5 Sonnet us.anthropic.claude-sonnet-4-5-20250929-v1:0 Balanced intelligence and speed
Claude 3.7 Sonnet us.anthropic.claude-3-7-sonnet-20250219-v1:0 High capability, lower latency
Claude 4.5 Haiku us.anthropic.claude-haiku-4-5-20251001-v1:0 Fastest, cost-effective

Troubleshooting

"Access Denied" Error

  • Verify your AWS credentials are configured correctly
  • Ensure your IAM user/role has Bedrock permissions:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "bedrock:InvokeModel",
            "bedrock:InvokeModelWithResponseStream"
          ],
          "Resource": "*"
        }
      ]
    }
    

"Model Not Found" Error

  • Check if the model is available in your selected region
  • Verify you have requested access to the model in Bedrock console

"Invalid Profile" Error

  • Verify the profile name in settings matches your AWS credentials file
  • Check that ~/.aws/credentials exists and contains the profile

Development

Building

npm run compile

Watching for Changes

npm run watch

Packaging

npm run package

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

For issues and feature requests, please use the GitHub issue tracker.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft