My VS Code Setup for 2025
I spend way too much time tweaking my editor. Here's what I've landed on for my daily driver setup.
The Editor That Runs My Life
I've tried them all - Sublime, Atom (RIP), WebStorm, even gave Neovim a shot for like a month. But I keep coming back to VS Code. It's just... comfortable.
Here's my current setup that I've been running for the past few months.
Must-Have Extensions
GitHub Copilot
Yeah yeah, AI is everywhere now. But Copilot genuinely saves me time. Especially for boilerplate and tests. Just don't blindly accept everything it suggests.
ESLint + Prettier
Non-negotiable. I don't want to think about formatting:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
GitLens
Inline blame, history, compare branches... it's like having a senior dev explain the git history to you.
Error Lens
Shows errors inline instead of making you hover. Game changer for catching typos immediately.
Thunder Client
REST client built into VS Code. I used to have Postman open all day, now I don't need to leave the editor.
Theme and Font
Currently running:
- **Theme**: One Dark Pro (I've tried like 50 themes, keep coming back to this one)
- **Font**: JetBrains Mono with ligatures enabled
- **Icons**: Material Icon Theme
Key Settings
{
"editor.fontSize": 14,
"editor.lineHeight": 1.6,
"editor.minimap.enabled": false,
"editor.wordWrap": "on",
"editor.bracketPairColorization.enabled": true,
"workbench.tree.indent": 20,
"terminal.integrated.fontSize": 13,
"files.autoSave": "onFocusChange"
}
I turn off the minimap because I never use it and it's just visual noise.
Keyboard Shortcuts I Actually Use
- `Cmd+P` - Quick file open (use this constantly)
- `Cmd+Shift+P` - Command palette
- `Cmd+D` - Select next occurrence
- `Cmd+Shift+L` - Select all occurrences
- `Cmd+/` - Toggle comment
- `Cmd+B` - Toggle sidebar
- `` Ctrl+` `` - Toggle terminal
Workspace Settings vs User Settings
Pro tip: use workspace settings (`.vscode/settings.json`) for project-specific stuff. I have different TypeScript strictness levels for different projects:
{
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.preferences.strictNullChecks": true
}
Final Thoughts
Your editor setup is personal. Don't copy someone else's config blindly - try things out and keep what works for you.
What extensions are you running that I'm missing out on? Always looking for new stuff to try.