VS Code Extensions for Productivity: The Complete 2026 Guide
VS Code Extensions for Productivity: The Complete 2026 Guide
Visual Studio Code is used by over 75% of developers worldwide, according to the Stack Overflow Developer Survey. But the editor alone is just a text editor — its power comes from the 50,000+ extensions in the Visual Studio Marketplace. The right combination of extensions can transform VS Code into an AI-powered IDE, a database manager, a Docker dashboard, a remote development environment, and a productivity powerhouse. This guide covers the 30 most impactful extensions for 2026, organized by category, with installation instructions, configuration tips, and real-world productivity gains for each.
Why VS Code in 2026
| Editor | Market Share | Free | Extensions | Remote Dev | AI Built-in | Speed |
|---|---|---|---|---|---|---|
| VS Code | 75%+ | Yes | 50,000+ | Yes | GitHub Copilot | Fast |
| Cursor | 5% (growing fast) | Yes | VS Code extensions | Yes | Claude, GPT-4 | Fast |
| JetBrains (IntelliJ) | 15% | No ($149-699) | 8,000+ | Yes | AI Assistant (paid) | Medium |
| Sublime Text | 3% | No ($99) | 5,000+ | No | No | Very fast |
| Vim/Neovim | 2% | Yes | 5,000+ | No | No | Very fast |
| Zed | 1% (new) | Yes | 500+ | No | No | Very fast |
| WebStorm | 2% | No ($69/yr) | 8,000+ | No | AI (paid) | Medium |
VS Code dominates because it is free, fast, has the largest extension ecosystem, and supports remote development (SSH, containers, WSL). In 2026, Cursor (an AI-first VS Code fork) is gaining market share but uses the same extension ecosystem.
Step 1: Installing Extensions
1.1 From the Marketplace UI
- Open VS Code
- Click the Extensions icon in the left sidebar (or
Ctrl+Shift+X/Cmd+Shift+X) - Search for the extension name
- Click "Install"
- Reload if prompted
1.2 From the Command Line
# Install an extension by ID
code --install-extension ms-python.python
code --install-extension esbenp.prettier-vscode
code --install-extension dbaeumer.vscode-eslint
# Install multiple extensions at once
code --install-extension ms-python.python dbaeumer.vscode-eslint esbenp.prettier-vscode
# List installed extensions
code --list-extensions
# Uninstall
code --uninstall-extension ms-python.python
1.3 Sync Extensions Across Machines
Use Settings Sync (built-in):
- Click the gear icon → "Turn on Settings Sync"
- Sign in with GitHub or Microsoft
- Choose what to sync: Extensions, Settings, Keybindings, UI State, Snippets
- On any other machine, sign in and sync pulls everything
1.4 extensions.json for Your Team
Create .vscode/extensions.json in your project to recommend extensions:
{
"recommendations": [
"ms-python.python",
"ms-python.vscode-pylance",
"charliermarsh.ruff",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"ms-vscode.vscode-typescript-next"
]
}
VS Code shows a notification when team members open the project without these extensions.
Step 2: AI and Code Intelligence Extensions
2.1 GitHub Copilot
| Aspect | Details |
|---|---|
| Extension ID | GitHub.copilot |
| Price | $10/month (Individual), $19/user/month (Business) |
| What it does | AI pair programmer — autocomplete, chat, code generation |
| Languages | All |
| Setup | Install extension, sign in with GitHub |
code --install-extension GitHub.copilot
Productivity gains:
- 30-50% faster coding (autocomplete accepts ~30% of suggestions)
- Generates boilerplate, tests, and documentation
- Chat explains code, finds bugs, suggests refactors
Key features:
- Inline suggestions: Start typing, press
Tabto accept - Copilot Chat:
Ctrl+I/Cmd+Ifor inline chat - Copilot Edits: Multi-file AI edits
@workspacein chat: Ask about your entire codebase/tests: Generate unit tests for the current file/fix: Fix the current error/explain: Explain selected code
Configuration (settings.json):
{
"github.copilot.enable": {
"*": true,
"plaintext": false,
"markdown": true,
"yaml": true
},
"github.copilot.editor.enableAutoCompletions": true,
"github.copilot.advanced": {
"length": 500,
"listCount": 3
}
}
2.2 GitHub Copilot Chat
| Aspect | Details |
|---|---|
| Extension ID | GitHub.copilot-chat |
| Price | Included with Copilot subscription |
| What it does | AI chat sidebar for asking questions about code |
code --install-extension GitHub.copilot-chat
Key commands:
Ctrl+Shift+I/Cmd+Shift+I: Open Copilot Chat sidebarCtrl+I/Cmd+I: Inline chat within the editor- Type
@workspaceto ask about your project - Type
@terminalto ask about terminal commands - Type
#file:filenameto reference a specific file
2.3 Continue (Open Source AI Alternative)
| Aspect | Details |
|---|---|
| Extension ID | continue.continue |
| Price | Free (bring your own model) |
| What it does | AI code assistant with any LLM (local or cloud) |
code --install-extension continue.continue
Why use Continue over Copilot:
- Free — use local models (Ollama, LM Studio) or your own API keys
- Works with any LLM: GPT-4o, Claude, Llama, Mistral, CodeLlama
- No data leaves your machine if using local models
- Open source (Apache 2.0)
Configure (~/.continue/config.json):
{
"models": [
{
"title": "GPT-4o",
"provider": "openai",
"model": "gpt-4o",
"apiKey": "YOUR_OPENAI_KEY"
},
{
"title": "Claude 3.5 Sonnet",
"provider": "anthropic",
"model": "claude-3-5-sonnet-20241022",
"apiKey": "YOUR_ANTHROPIC_KEY"
},
{
"title": "Local Llama",
"provider": "ollama",
"model": "llama3:8b",
"apiBase": "http://localhost:11434"
}
],
"tabAutocompleteModel": {
"title": "Local StarCoder",
"provider": "ollama",
"model": "starcoder2:3b"
}
}
2.4 Codeium (Free AI Alternative)
| Aspect | Details |
|---|---|
| Extension ID | Codeium.codeium |
| Price | Free (Individual), $19/user/month (Pro) |
| What it does | AI autocomplete and chat, free for individuals |
code --install-extension Codeium.codeium
Codeium offers unlimited AI autocomplete and chat for free. It supports 70+ languages and is a great free alternative to Copilot.
Step 3: Language-Specific Extensions
3.1 Python
| Extension | ID | Purpose |
|---|---|---|
| Python | ms-python.python |
Core Python support (debugging, IntelliSense) |
| Pylance | ms-python.vscode-pylance |
Fast type checking and IntelliSense |
| Ruff | charliermarsh.ruff |
Fast Python linter and formatter |
| Jupyter | ms-toolsai.jupyter |
Jupyter notebooks in VS Code |
| Python Test Explorer | LittleFoxTeam.vscode-python-test-adapter |
Test runner UI |
Install all:
code --install-extension ms-python.python ms-python.vscode-pylance charliermarsh.ruff ms-toolsai.jupyter
Python settings (settings.json):
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.analysis.typeCheckingMode": "basic",
"python.analysis.autoImportCompletions": true,
"python.formatting.provider": "none",
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.ruff": "explicit",
"source.organizeImports.ruff": "explicit"
}
},
"ruff.lint.args": ["--config=pyproject.toml"],
"ruff.format.args": ["--config=pyproject.toml"]
}
3.2 JavaScript / TypeScript
| Extension | ID | Purpose |
|---|---|---|
| ESLint | dbaeumer.vscode-eslint |
JavaScript/TypeScript linting |
| Prettier | esbenp.prettier-vscode |
Code formatter |
| TypeScript Next | ms-vscode.vscode-typescript-next |
Latest TS features |
| JavaScript Debugger | ms-vscode.js-debug |
Built-in JS debugging |
| Import Cost | wix.vscode-import-cost |
Show package size of imports |
| ESLint | dbaeumer.vscode-eslint |
Linting |
Install:
code --install-extension dbaeumer.vscode-eslint esbenp.prettier-vscode ms-vscode.vscode-typescript-next wix.vscode-import-cost
JS/TS settings:
{
"editor.formatOnSave": true,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"eslint.format.enable": true,
"eslint.workingDirectories": ["./"],
"import-cost.smallPackageColor": "#7cc36e",
"import-cost.mediumPackageColor": "#d6b520",
"import-cost.largePackageColor": "#f74c4c"
}
3.3 Rust
| Extension | ID | Purpose |
|---|---|---|
| rust-analyzer | rust-lang.rust-analyzer |
Rust language server (essential) |
| CodeLLDB | vadimcn.vscode-lldb |
Rust debugger |
| Even Better TOML | tamasfe.even-better-toml |
Cargo.toml syntax support |
| crates | serayuzgur.crates |
Show crate versions in Cargo.toml |
code --install-extension rust-lang.rust-analyzer vadimcn.vscode-lldb tamasfe.even-better-toml serayuzgur.crates
3.4 Go
| Extension | ID | Purpose |
|---|---|---|
| Go | golang.go |
Official Go extension |
| Go Test Explorer | princicf.go-test-explorer |
Test runner UI |
code --install-extension golang.go
3.5 Java
| Extension | ID | Purpose |
|---|---|---|
| Extension Pack for Java | vscjava.vscode-java-pack |
All-in-one Java pack |
| Spring Boot Extension Pack | vmware.vscode-spring-boot |
Spring Boot support |
code --install-extension vscjava.vscode-java-pack vmware.vscode-spring-boot
Step 4: Git and Version Control Extensions
4.1 GitLens
| Aspect | Details |
|---|---|
| Extension ID | Gitlab.gitlab-workflow or eamodio.gitlens |
| Price | Free |
| What it does | Supercharge Git — blame, history, diff, file annotations |
code --install-extension eamodio.gitlens
Key features:
- Git blame inline: See who last modified each line and when
- Commit graph: Visualize branch history (
Ctrl+Shift+G→ Commits) - File history: See all commits that touched a file
- Line history: See all commits that modified a specific line
- Rebase editor: Visual interactive rebase
- Search commits: Full-text search across commit messages
Settings:
{
"gitlens.currentLine.enabled": true,
"gitlens.currentLine.format": "${author}, ${ago} • ${message}",
"gitlens.codeLens.enabled": true,
"gitlens.views.commits.layout": "graph",
"gitlens.blame.format": "${author| You} • ${date} • ${message}",
"gitlens.statusBar.enabled": true,
"gitlens.hovers.currentLine.over": "line",
"gitlens.showWhatsNewAfterUpgrades": false
}
4.2 GitHub Pull Requests
| Aspect | Details |
|---|---|
| Extension ID | GitHub.vscode-pull-request-github |
| Price | Free |
| What it does | Manage PRs, review code, merge from VS Code |
code --install-extension GitHub.vscode-pull-request-github
Features:
- View, create, and merge PRs without leaving the editor
- Review PR changes with inline comments
- Checkout PR branches locally
- View PR checks and CI status
4.3 Git Graph
| Aspect | Details |
|---|---|
| Extension ID | mhutchie.git-graph |
| Price | Free |
| What it does | Visual Git branch graph |
code --install-extension mhutchie.git-graph
View your repository's branch structure as a visual graph. Click on commits to see details, create branches, cherry-pick, and merge.
Step 5: Remote Development Extensions
5.1 Remote - SSH
| Aspect | Details |
|---|---|
| Extension ID | ms-vscode-remote.remote-ssh |
| Price | Free |
| What it does | Edit files on a remote server over SSH |
code --install-extension ms-vscode-remote.remote-ssh
Setup:
- Have SSH access to a remote server
- In VS Code:
Ctrl+Shift+P→ "Remote-SSH: Connect to Host" - Enter:
user@your-server.com - VS Code installs its server component on the remote host
- You can now edit files on the remote server as if they were local
Use cases:
- Edit code on a VPS without syncing
- Debug production issues remotely
- Develop on a more powerful machine
5.2 Dev Containers
| Aspect | Details |
|---|---|
| Extension ID | ms-vscode-remote.remote-containers |
| Price | Free |
| What it does | Develop inside Docker containers |
code --install-extension ms-vscode-remote.remote-containers
Setup:
- Install Docker
- Create
.devcontainer/devcontainer.jsonin your project:
{
"name": "My App Dev Container",
"image": "mcr.microsoft.com/devcontainers/javascript-node:20",
"features": {
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {}
},
"forwardPorts": [3000, 5432],
"postCreateCommand": "npm install",
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"ms-python.python"
],
"settings": {
"editor.formatOnSave": true
}
}
}
}
Ctrl+Shift+P→ "Dev Containers: Reopen in Container"- VS Code builds the container and opens your project inside it
Benefits:
- Consistent dev environment across team members
- No "works on my machine" issues
- Isolate dependencies (Node versions, DB versions)
- Onboard new developers in minutes
5.3 WSL (Windows Subsystem for Linux)
| Aspect | Details |
|---|---|
| Extension ID | ms-vscode-remote.remote-wsl |
| Price | Free |
| What it does | Develop in WSL from VS Code on Windows |
code --install-extension ms-vscode-remote.remote-wsl
For Windows users developing with Linux tools, this is essential. Open your WSL terminal and type code . to open VS Code connected to WSL.
Step 6: Docker and Infrastructure Extensions
6.1 Docker
| Aspect | Details |
|---|---|
| Extension ID | ms-azuretools.vscode-docker |
| Price | Free |
| What it does | Manage Docker containers, images, volumes from VS Code |
code --install-extension ms-azuretools.vscode-docker
Features:
- View running containers, stop/start/restart
- View images, build, pull, push
- View volumes and networks
- Compose file support (docker-compose.yml)
- Attach shell to running containers
- View container logs
6.2 Kubernetes
| Aspect | Details |
|---|---|
| Extension ID | ms-kubernetes-tools.vscode-kubernetes-tools |
| Price | Free |
| What it does | Manage Kubernetes clusters from VS Code |
code --install-extension ms-kubernetes-tools.vscode-kubernetes-tools
Features:
- Browse clusters, namespaces, pods, deployments
- View logs, exec into pods
- Apply manifests
- Helm chart support
6.3 HashiCorp Terraform
| Aspect | Details |
|---|---|
| Extension ID | HashiCorp.terraform |
| Price | Free |
| What it does | Terraform language support, linting, formatting |
code --install-extension HashiCorp.terraform
Step 7: Database Extensions
7.1 Database Client
| Aspect | Details |
|---|---|
| Extension ID | cweijan.vscode-database-client2 |
| Price | Free |
| What it does | Connect to MySQL, PostgreSQL, MongoDB, Redis, SQLite, SQL Server |
code --install-extension cweijan.vscode-database-client2
Features:
- Connect to databases with a GUI
- Browse tables, view data, run queries
- Export results to CSV, JSON
- Manage Redis keys
7.2 SQLTools
| Aspect | Details |
|---|---|
| Extension ID | mtxr.sqltools |
| Price | Free |
| What it does | Lightweight SQL client |
code --install-extension mtxr.sqltools
Install driver extensions for your database:
sqltools-driver-pgfor PostgreSQLsqltools-driver-mysqlfor MySQLsqltools-driver-sqlitefor SQLite
Step 8: UI and Theme Extensions
8.1 Themes
| Theme | Extension ID | Style |
|---|---|---|
| One Dark Pro | binaryhpger.theme-one-dark-pro |
Dark, popular |
| Tokyo Night | enkia.tokyo-night |
Dark, blue-toned |
| Dracula | dracula-theme.theme-dracula |
Dark, purple |
| Material Icon Theme | PKief.material-icon-theme |
Icons for files/folders |
| Catppuccin | Catppuccin.catppuccin-vsc |
Soft, pastel |
Install:
code --install-extension enkia.tokyo-night PKief.material-icon-theme
Settings:
{
"workbench.colorTheme": "Tokyo Night",
"workbench.iconTheme": "material-icon-theme",
"workbench.colorCustomizations": {
"editor.background": "#1a1b26",
"sideBar.background": "#16161e"
}
}
8.2 Indent Rainbow
| Aspect | Details |
|---|---|
| Extension ID | oderwat.indent-rainbow |
| Price | Free |
| What it does | Colorize indentation for readability |
code --install-extension oderwat.indent-rainbow
Makes nested code blocks visually distinct with colored indentation.
8.3 Error Lens
| Aspect | Details |
|---|---|
| Extension ID | usernamehw.errorlens |
| Price | Free |
| What it does | Show errors/warnings inline in the editor |
code --install-extension usernamehw.errorlens
Instead of hovering over squiggly lines to see errors, Error Lens shows the error message at the end of the line. This saves hundreds of clicks per day.
Settings:
{
"errorLens.enabledDiagnosticSources": ["eslint", "typescript", "python"],
"errorLens.messageMaxChars": 200,
"errorLens.fontStyle": "italic",
"errorLens.gutterIconsEnabled": true
}
Step 9: Productivity Extensions
9.1 Path Intellisense
| Aspect | Details |
|---|---|
| Extension ID | christian-kohler.path-intellisense |
| Price | Free |
| What it does | Autocomplete file paths in import statements |
code --install-extension christian-kohler.path-intellisense
9.2 Auto Rename Tag
| Aspect | Details |
|---|---|
| Extension ID | formulahendry.auto-rename-tag |
| Price | Free |
| What it does | Auto-rename paired HTML/JSX tags |
code --install-extension formulahendry.auto-rename-tag
When you rename an opening <div> to <section>, the closing </div> automatically becomes </section>.
9.3 Todo Tree
| Aspect | Details |
|---|---|
| Extension ID | Gruntfuggly.todo-tree |
| Price | Free |
| What it does | Find and manage TODO comments in your code |
code --install-extension Gruntfuggly.todo-tree
Shows all // TODO, // FIXME, // HACK comments in a tree view. Click to jump to the location.
// TODO: Add error handling for network timeout
// FIXME: This function has a memory leak
// HACK: Temporary workaround for API rate limit
Settings:
{
"todo-tree.general.tags": ["TODO", "FIXME", "HACK", "BUG", "NOTE"],
"todo-tree.highlights.defaultHighlight": {
"foreground": "#fff",
"background": "#ff6b6b",
"type": "tag"
}
}
9.4 Better Comments
| Aspect | Details |
|---|---|
| Extension ID | aaron-bond.better-comments |
| Price | Free |
| What it does | Color-code comments by type |
code --install-extension aaron-bond.better-comments
// * Important comment (green highlight)
// ! Warning comment (red highlight)
// ? Question comment (blue highlight)
// // Strikethrough (gray, strikethrough)
// TODO: Todo comment (orange)
9.5 Live Server
| Aspect | Details |
|---|---|
| Extension ID | ms-vscode.live-server |
| Price | Free |
| What it does | Local dev server with live reload for static HTML |
code --install-extension ms-vscode.live-server
Right-click an HTML file → "Open with Live Server". Browser opens and auto-reloads on file changes.
9.6 Code Spell Checker
| Aspect | Details |
|---|---|
| Extension ID | streetsidesoftware.code-spell-checker |
| Price | Free |
| What it does | Spell check code and comments |
code --install-extension streetsidesoftware.code-spell-checker
Install language packs:
code-spell-checker-germancode-spell-checker-spanishcode-spell-checker-french
9.7 Bookmarks
| Aspect | Details |
|---|---|
| Extension ID | alefragnani.bookmarks |
| Price | Free |
| What it does | Bookmark lines and jump between them |
code --install-extension alefragnani.bookmarks
Mark important lines with Ctrl+Alt+K / Cmd+Option+K, then jump between bookmarks with Ctrl+Alt+J / Cmd+Option+J.
9.8 Project Manager
| Aspect | Details |
|---|---|
| Extension ID | alefragnani.project-manager |
| Price | Free |
| What it does | Quickly switch between projects |
code --install-extension alefragnani.project-manager
Add projects to a list and switch with Ctrl+Alt+P / Cmd+Option+P. No more cd to different directories.
Step 10: Terminal and Task Extensions
10.1 Integrated Terminal
VS Code has a built-in terminal. Key shortcuts:
| Shortcut | Action |
|---|---|
Ctrl+` / Cmd+` |
Toggle terminal |
| `Ctrl+Shift+`` | New terminal split |
Ctrl+Shift+C |
Copy selection |
Ctrl+Shift+V |
Paste |
Ctrl+Shift+Up/Down |
Scroll terminal |
Settings:
{
"terminal.integrated.fontFamily": "MesloLGS NF",
"terminal.integrated.fontSize": 13,
"terminal.integrated.shellIntegration.enabled": true,
"terminal.integrated.scrollback": 10000,
"terminal.integrated.tabs.enabled": true
}
10.2 Tasks
Create .vscode/tasks.json for custom tasks:
{
"version": "2.0.0",
"tasks": [
{
"label": "Build",
"type": "shell",
"command": "npm run build",
"group": { "kind": "build", "isDefault": true },
"problemMatcher": ["$tsc"]
},
{
"label": "Test",
"type": "shell",
"command": "npm test",
"group": { "kind": "test", "isDefault": true }
},
{
"label": "Deploy",
"type": "shell",
"command": "npm run deploy",
"dependsOn": ["Build"]
}
]
}
Run with Ctrl+Shift+B (build) or Ctrl+Shift+P → "Run Task".
Step 11: Snippets and Custom Snippets
11.1 Built-in Snippets
Type a prefix and press Tab:
| Prefix | Expands To |
|---|---|
clg |
console.log() |
fore |
for (const item of items) {} |
reactfc |
React function component |
rfc |
React function component with export |
11.2 Create Custom Snippets
Ctrl+Shift+P → "Configure User Snippets" → Select language:
// javascript.json
{
"Console Log with Variable": {
"prefix": "clv",
"body": ["console.log('${1:variable}:', ${1:variable})"],
"description": "Log variable with name"
},
"Try Catch": {
"prefix": "tc",
"body": [
"try {",
" $1",
"} catch (error) {",
" console.error('Error:', error);",
"}"
],
"description": "Try-catch block"
},
"React Component": {
"prefix": "rfc",
"body": [
"import React from 'react';",
"",
"export default function ${1:ComponentName}() {",
" return (",
" <div>",
" $2",
" </div>",
" );",
"}"
],
"description": "React function component"
}
}
Step 12: Keybindings for Productivity
12.1 Essential Shortcuts
| Shortcut (Win/Linux) | Shortcut (Mac) | Action |
|---|---|---|
Ctrl+P |
Cmd+P |
Quick open file |
Ctrl+Shift+P |
Cmd+Shift+P |
Command palette |
Ctrl+B |
Cmd+B |
Toggle sidebar |
Ctrl+` |
Cmd+` |
Toggle terminal |
Ctrl+Shift+F |
Cmd+Shift+F |
Global search |
Ctrl+D |
Cmd+D |
Select next occurrence |
Ctrl+Shift+L |
Cmd+Shift+L |
Select all occurrences |
Alt+Up/Down |
Option+Up/Down |
Move line up/down |
Shift+Alt+Down |
Shift+Option+Down |
Duplicate line |
Ctrl+/ |
Cmd+/ |
Toggle comment |
Ctrl+Shift+K |
Cmd+Shift+K |
Delete line |
Ctrl+Enter |
Cmd+Enter |
Insert line below |
Ctrl+Shift+Enter |
Cmd+Shift+Enter |
Insert line above |
Alt+Click |
Option+Click |
Multi-cursor |
Ctrl+Alt+Up/Down |
Cmd+Option+Up/Down |
Multi-cursor vertical |
Ctrl+Shift+\ |
Cmd+Shift+\ |
Jump to bracket |
Ctrl+- |
Cmd+- |
Zoom out |
Ctrl+= |
Cmd+= |
Zoom in |
12.2 Custom Keybindings
Ctrl+Shift+P → "Open Keyboard Shortcuts" → edit keybindings.json:
[
{
"key": "ctrl+shift+a",
"command": "editor.action.formatDocument",
"when": "editorTextFocus"
},
{
"key": "ctrl+e",
"command": "workbench.action.quickOpen"
},
{
"key": "ctrl+shift+r",
"command": "editor.action.rename",
"when": "editorTextFocus"
}
]
Step 13: Monetizing VS Code Expertise
| Method | Effort | Income Potential | Time to First $ |
|---|---|---|---|
| Create and publish VS Code extensions | High | $200-5,000/month | 3-12 months |
| Write VS Code tutorials | Medium | $200-1,000/article | 1-2 weeks |
| Dev container setup service | Medium | $300-1,000/project | 1-2 weeks |
| VS Code training for teams | Medium | $500-2,000/session | 2-4 weeks |
| Extension development consulting | High | $75-200/hour | 2-4 weeks |
| Productivity audit services | Low | $200-500/audit | 1-2 weeks |
Building and Selling a VS Code Extension
A practical side hustle: build a VS Code extension and monetize it.
- Idea: A snippet pack for a framework (e.g., "Next.js 15 Snippets")
- Tools:
yo code(extension generator), TypeScript, VS Code Extension API - Publish: Visual Studio Marketplace (free developer account)
- Monetize: Freemium (free snippets, paid premium pack) or sponsorships
- Market: Blog posts, YouTube, Twitter, Reddit
Real example: Tailwind CSS IntelliSense extension has 5M+ installs. Even a niche extension with 10K installs can generate sponsorship income.
Action Checklist
- Install VS Code (or Cursor for AI-first)
- Enable Settings Sync with GitHub/Microsoft
- Install GitHub Copilot or Continue (free AI alternative)
- Install language extensions for your stack
- Install GitLens for Git superpowers
- Install Docker extension for container management
- Install Error Lens for inline error display
- Set up Prettier + ESLint with format-on-save
- Configure Ruff for Python formatting
- Install a theme (Tokyo Night, One Dark Pro)
- Install Material Icon Theme for file icons
- Set up Dev Containers for consistent environments
- Install Remote-SSH for server development
- Install Todo Tree for TODO management
- Install Better Comments for color-coded comments
- Install Code Spell Checker
- Create custom snippets for your workflow
- Create a
.vscode/settings.jsonfor your project - Create a
.vscode/tasks.jsonfor build/test/deploy - Create a
.vscode/extensions.jsonfor team recommendations - Learn and customize keybindings
- Use the integrated terminal with shell integration
- Set up split editors for side-by-side editing
- Configure launch.json for debugging
- Audit your extensions quarterly (remove unused)
- Back up your settings with Settings Sync
Common Pitfalls and Solutions
| Pitfall | Impact | Solution |
|---|---|---|
| Too many extensions | Slow editor, high memory | Audit quarterly, remove unused |
| Conflicting formatters | Formatting wars | Set one default formatter per language |
| No Settings Sync | Lost config on new machine | Enable Settings Sync immediately |
| Not using Dev Containers | "Works on my machine" | Set up devcontainer.json |
| Ignoring keybindings | Slow navigation | Learn top 20 shortcuts |
| No snippets | Repetitive typing | Create custom snippets |
| Not using Copilot/Continue | Slower coding | Try AI-assisted coding |
| Extension conflicts | Weird behavior | Disable extensions one by one to isolate |
| No project-specific settings | Inconsistent environment | Use .vscode/settings.json |
| Not using tasks | Manual terminal commands | Automate with tasks.json |
Final Word
Visual Studio Code is powerful out of the box, but the right extensions make it a productivity machine. The essential setup takes 1-2 hours: install AI assistance (Copilot or Continue for free), language extensions for your stack, GitLens for version control superpowers, Error Lens for instant error feedback, Prettier and ESLint for code quality, a theme you love, and Dev Containers for consistent environments. For side hustles, VS Code expertise is monetizable: extension development generates $200-5,000/month for popular extensions, dev container setup services earn $300-1,000/project, and productivity audits for developer teams command $200-500 each. Start with the free extensions, enable Settings Sync so your setup travels with you, create a .vscode/ config for each project, and audit your extensions quarterly to keep the editor fast.
More guides: bsynet.cc