How I Learned VS Code Extensions in 30 Days (My Honest Journey)
Hey folks. So about a month ago, I realized I was basically using VS Code like a caveman—just the bare essentials, no real extensions, relying on default settings. My buddy Jake kept flexing his terminal setups and autocomplete magic, and I was like, "Yeah, I'm fine with what I have." Spoiler alert: I wasn't fine. I was just ignorant.
I decided to spend 30 days actually learning what VS Code extensions can do. Not just installing random stuff, but understanding them. Here's my honest breakdown of what that looked like, what I learned, the frustrations, and what actually stuck.
Week 1: The Overwhelming Rabbit Hole
Day 1 was a mistake. I opened the Extensions marketplace and just... scrolled. For like 45 minutes. There are literally millions of extensions. I downloaded 20 of them in the first evening thinking "I'll try everything!"
Spoiler: I didn't try everything. My VS Code became a bloated mess. Start-up time got worse. My computer sounded like it was having an existential crisis. I uninstalled everything and started over like a reasonable person.
Lesson learned: Don't be like past-me. Quality over quantity, always.
I decided to focus on categories instead:
- Productivity extensions
- Language-specific tools
- Theming/appearance
- Git utilities
The Essentials I Actually Needed
First, I asked myself: What do I actually do every single day?
I code JavaScript and TypeScript mostly, I use Git constantly, I write markdown docs, and I jump between files like a madman. So I started there instead of installing every trendy extension.
Week 2: Setting Up the Real Basics
This is where things got practical. I found that most extensions fall into a few categories, and you really only need a couple from each.
Productivity & Code Quality
I started with Prettier - the code formatter. Now, I'll be honest, I was skeptical. "Why do I need to install something for formatting?" Yeah, younger me was wrong. Prettier just handles it, no thinking required. My code style became consistent across projects without me fighting with my team about tabs vs spaces.
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
That's it. That's the magic. Everything formatted on save. Less mental overhead for me means more brain power for actual logic.
Then came Eslint. Look, I thought linting was overkill. Turns out, catching bad patterns before they become bugs is... good? Shocking, I know. The real value hit me when it caught a variable I'd declared but never used, 6 lines later. Saved me from a headache.
Version Control (Because I'm Not Insane)
I grabbed GitLens. This one actually impressed me. Being able to see who changed what line and when—without leaving VS Code—is weirdly useful. I found a bug once and could trace exactly when it got introduced. Game changer.
# No commands needed, just hover over a line and magic happens
Week 3: Language-Specific Tools (Where It Got Real)
I spent this week diving into TypeScript tooling specifically since that's 70% of what I write.
Thunder Client
Let me be controversial: I ditched Postman. Thunder Client is lighter, it's built into VS Code, and I don't need to context-switch anymore. Testing APIs directly in my editor feels natural now.
// Example Thunder Client request (stored as JSON)
{
"clientName": "Thunder Client",
"dateExported": "2024-01-15T10:30:00.000Z",
"version": "1.1",
"folders": [],
"requests": [
{
"name": "Get Users",
"method": "GET",
"url": "http://localhost:3000/api/users",
"headers": {
"Authorization": "Bearer your_token"
}
}
]
}
Path Intellisense & Auto Rename Tag
These felt like luxuries at first. Path Intellisense autocompletes file paths (sounds simple, saves 20 clicks a day). Auto Rename Tag means if I change <div> to <section>, the closing tag updates automatically.
That second one should be built-in, honestly. But it's not, so now I use this extension and feel like a wizard.
Week 4: The Workflow Integration Phase
By week 4, I wasn't learning extensions anymore—I was optimizing my workflow. The individual tools clicked, but now I wanted them to work together.
Themes & Appearance (Because We Spend 8+ Hours Here)
I settled on One Dark Pro theme. Subjective, yes, but good syntax highlighting with less eye strain for me personally. Took me three days to stop switching themes though. That was dumb.
Settings Sync
I enabled Settings Sync. This deserves its own paragraph. No more manual setup when I get a new machine. My extensions, keybindings, themes—everything syncs automatically via my GitHub account. 10/10, no notes.
Snippets
I created custom snippets for code I write repeatedly:
{
"React FC": {
"prefix": "rfc",
"body": [
"import React from 'react';",
"",
"interface ${1:ComponentName}Props {}",
"",
"const ${1:ComponentName}: React.FC<${1:ComponentName}Props> = (props) => {",
" return <div>${2}</div>;",
"};",
"",
"export default ${1:ComponentName};"
],
"description": "React Functional Component"
}
}
Typing rfc and hitting tab > full boilerplate. Sounds small, but multiply that by 50 times a day... it adds up.
The Honest Struggles
I'm not gonna pretend this was all smooth sailing. Here's what actually frustrated me:
Extensions conflicting: I had two markdown extensions fighting each other. Took me ages to figure out why my markdown preview was broken. The lesson? Read what each extension does before installing.
Performance: Adding extensions does slow VS Code down. It's minimal now, but every extension has a cost. I had to uninstall a few that looked cool but weren't worth the 200ms startup hit.
Configuration fatigue: Some extensions have 47 different settings. Do I need to configure them all? No. Did I spend 3 hours doing it anyway? Yes. That's on me.
Updates breaking things: One update of GitLens broke my workflow. Took 20 minutes to fix. Nothing dramatic, but annoying.
My Final Extension Stack (30 Days Later)
Here's what actually stuck:
- Prettier — Code formatting
- ESLint — Code linting
- GitLens — Git history
- Thunder Client — API testing
- Path Intellisense — File path completion
- Auto Rename Tag — HTML/JSX tag sync
- Thunder Client — API testing
- REST Client — Sometimes I use this instead of Thunder Client depending on mood
- Peacock — Color-codes workspaces (more useful than it sounds)
- One Dark Pro — Theme
That's it. Ten extensions. Some people have 50. They're probably smarter than me or have different needs. These ten feel right for my brain.
What I Wish I'd Known
- Don't install before understanding. Read the extension's README, not just the name.
- Settings Sync is your friend. Turn it on day 1.
- Keyboard shortcuts matter more than extensions. Learned Ctrl+Shift+P (command palette) changed my life more than any single extension.
- Your setup will evolve. I'm not married to this stack forever. In 6 months, I'll probably add or remove things.
- Performance > Features. A slow IDE sucks more than missing one feature.
The Real Takeaway
Learning VS Code extensions wasn't about finding the "best
Disclosure: This article contains affiliate links. If you purchase through these links, I may earn a small commission at no extra cost to you.
📚 Want to learn more? Check out these top resources on Amazon.
Top comments (0)