Visual Studio Code (VSCode) is more than just a text editor—it’s practically a dev companion. But here’s the kicker: most developers barely scratch the surface of what it offers. They install a few extensions, maybe choose a dark theme, and move on. Yet, buried within its settings are powerful tweaks that can drastically improve productivity, reduce errors, and even boost code quality.
1. Files: Auto Save (Make Your Sanity Permanent)
Default behavior: Auto-save is off.
Problem: You forget to save, your computer crashes, and your last changes are gone. Classic.
What to do:
Go to Settings > Search for Auto Save
Or add this to your settings.json
:
"files.autoSave": "onWindowChange"
There are several options:
-
"off"
– default -
"afterDelay"
– saves after X milliseconds -
"onWindowChange"
– saves when you switch windows -
"onFocusChange"
– saves when focus leaves the editor
Why you should care:
Saving automatically eliminates so many “oops” moments. It’s especially helpful during testing, when you switch between terminal and editor rapidly.
2. Editor: Format on Save (The Code Police You Actually Need)
Default behavior: Off
Problem: Messy code piles up, and you tell yourself “I’ll fix it later.” (Spoiler: You won’t.)
What to do:
"editor.formatOnSave": true
Also, ensure you have a formatter like Prettier or ESLint installed.
Why you should care:
Whether you’re writing JavaScript, Python, or even HTML/CSS, consistent formatting keeps your code clean, readable, and merge-friendly.
No more 40-line PRs with changes that are just formatting.
3. Editor: Tab Size and Detect Indentation (Silently Breaks Teams)
Default behavior: Often 4 spaces or mixed
Problem: One dev uses tabs, another uses 2 spaces, and suddenly your git diff looks like a war zone.
What to do:
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.detectIndentation": false
Why you should care:
Set a consistent style, and VSCode will stop guessing what indentation should be. Less visual clutter, fewer merge conflicts, more harmony.
Pro tip: Add a .editorconfig
file to enforce this across your team.
4. Files: Exclude / Search: Exclude (Your CPU Will Thank You)
Default behavior: Includes all files in searches and intellisense
Problem: You’re searching “config” and VSCode returns 400 results from node_modules/
.
What to do:
"files.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/.git": true
},
"search.exclude": {
"**/node_modules": true,
"**/dist": true
}
Why you should care:
This keeps your workspace cleaner, searches faster, and indexing less CPU-intensive.
It's like decluttering your brain… but for your editor.
5. Git: Enable Smart Commit (Avoid WIP Purgatory)
Default behavior: Requires staging changes manually
Problem: You type Ctrl+Enter
expecting it to commit… but nothing happens. You’re forced to stage files like it’s 2009.
What to do:
"git.enableSmartCommit": true
Why you should care:
This allows you to commit directly from the Source Control panel without staging files manually. It’s great for fast-paced commits when you’re sure of your changes.
Pair it with:
"git.confirmSync": false
To make push/pull even smoother.
6. Terminal: Integrated Shell (Stop Fighting with Your CLI)
Default behavior: VSCode uses the system default shell
Problem: You prefer zsh
, fish
, or even PowerShell—but VSCode keeps opening the default shell.
What to do (Mac example):
"terminal.integrated.defaultProfile.osx": "zsh"
For Windows or Linux:
"terminal.integrated.defaultProfile.windows": "PowerShell"
"terminal.integrated.defaultProfile.linux": "bash"
Why you should care:
Make VSCode match your terminal habits. Less context switching. Better shell history. More productivity.
7. Code Folding & Bracket Pairs (Visual Peace of Mind)
Default behavior: On, but basic
Problem: Nested functions, deeply scoped logic, and multi-file classes turn your editor into spaghetti.
What to do:
"editor.folding": true,
"editor.foldingStrategy": "auto",
"editor.matchBrackets": "always"
Also consider:
"editor.guides.bracketPairs": "active"
Why you should care:
Easier navigation. Instant clarity on what function you're in. Collapsing large chunks of code lets you focus on just what you’re working on.
8. Breadcrumbs and Outline View (Find Anything, Instantly)
Default behavior: On, but underused
Problem: You’re scrolling endlessly to find that function in a 1000-line file.
What to do:
Enable breadcrumbs:
"breadcrumbs.enabled": true
And start using the Outline view (Command Palette → “Toggle Outline”).
Why you should care:
Breadcrumbs show your current scope (e.g. index.js > function > block
)
Outline gives you a sidebar overview of all functions, classes, and variables in the file.
Massive files become manageable again.
9. Workbench: Editor Limit & Restore View State (Declutter Like a Pro)
Default behavior: Keeps every file you ever opened open
Problem: You have 42 tabs open, don’t know what’s what, and performance is tanking.
What to do:
"workbench.editor.limit.enabled": true,
"workbench.editor.limit.perEditorGroup": true,
"workbench.editor.limit.value": 10,
"workbench.editor.restoreViewState": true
Why you should care:
VSCode will limit the number of open files, auto-close older ones, and remember scroll positions and cursor placements when you return. It’s like memory foam… for your files.
10. Extensions Auto Update and Settings Sync (Your Future Self Will Thank You)
Default behavior: Extensions update manually
Problem: You use VSCode on multiple machines (home, work, laptop), but nothing is synced.
What to do:
"extensions.autoUpdate": true,
"sync.enable": true
Log into your GitHub or Microsoft account to enable Settings Sync.
Why you should care:
Imagine setting up your VSCode once, and never needing to do it again—even on a fresh install.
Everything—extensions, themes, keyboard shortcuts, and settings—will sync across machines. You’ll never feel “out of place” again.
Bonus: Top Extensions That Work Better with These Settings
Now that your settings are optimized, pair them with the right tools:
- Prettier – Code formatter
- ESLint – JS/TS linting
- Bracket Pair Colorizer 2 – Enhanced readability
- GitLens – Better Git insights
- Path Intellisense – Autocomplete file paths
- TabNine or Copilot – AI code suggestions
-
TODO Highlight – Highlights comments like
// TODO:
These extensions + the optimized settings above = productivity explosion.
Final Thoughts
Most developers spend thousands of hours inside their editors. Yet very few spend even 10 minutes customizing the environment that powers all of their work. That’s like a racecar driver refusing to adjust the seat.
Don’t be that dev.
You may also like:
Read more blogs from Here
You can easily reach me with a quick call right from here.
Share your experiences in the comments, and let's discuss how to tackle them!
Follow me on LinkedIn