Besides its lightweight design and compatibility with all major operating systems, a massive collection of extensions is one of the biggest perks of VS Code. While the code editor is fairly powerful on its own, its versatility jumps to the next level once it’s armed with a handful of neat extensions. And since there are thousands of extensions on the VS Code marketplace, you can use it with practically any coding project.
That said, it’s entirely possible to overload your VS Code instance with many extensions, especially if you love tinkering with them as much as I do. Experimenting with all those shiny add-ons may seem like a good time, but grabbing too many of them can result in slow startup times and performance issues. In my case, it was an even bigger problem, because my dev VMs have a fraction of the horsepower as my normal PCs. Throw in the stability issues and errors from random extensions breaking down, and you can see why I opted to deep-clean my VS Code instances.
But since my VS Code workflows will take a massive productivity hit if I ditch all my extensions, I tried building a barebones instance armed with only those third-party services that I absolutely need.
Continue.Dev
I’ve hooked it up to my Ollama models
Although I wouldn’t use LLMs to write code, I often rely on larger models for autocomplete and code-review facilities. That said, I’d rather not send my programming data to some external AI agent and have them train their LLMs using my painstakingly coded files. Fortunately, I’ve got an RTX 3080 Ti that, despite not being powerful enough for cutting-edge models, can still hold its ground against many high-parameter LLMs on Ollama.
Enter Continue.Dev, an extension that lets VS Code harness my Ollama LLMs for coding tasks. Thanks to debouncing and caching support, Continue.Dev provides quick autocomplete suggestions, while its post-processing facilities ensure my LLMs provide relevant responses. It even supports automated pull request reviews for GitHub repositories, and can write comments and refactor functions with solid accuracy. I wouldn’t say that Continue.Dev works perfectly on every occasion, but it delivers consistently decent results when paired with a high-parameter LLM.
Container Tools
The perfect companion for my containers
If you’ve read my recent articles on XDA, you’ll know that I’m a big fan of containerized applications. While they aren’t as isolated as virtual machines, containers are perfect for hosting local services on low-power devices in my home lab. That said, organizing the docker-compose.yml files and managing my container arsenal can get a tad tedious when I need to swap between VS Code and a terminal.
That’s where the Container Tools extension pack comes in handy, as it integrates VS Code directly with my Docker (and even Podman) instances. That way, I can create the YAML files for my container runtimes using VS Code and use container commands to get them up and running directly from the code editor. It’s also compatible with the majority of commands I use to manage my containers, and lets me check the logs in case a service doesn’t work as expected.
Dendron
It turns VS Code into a note taker
Since VS Code is essentially a code editor, there’s nothing stopping me from using it as a note taker – and that’s low-key what I did back in my uni days. However, the base version of VS Code is rather barebones, especially compared to the likes of SilverBullet and Obsidian.
Dendron is a neat extension that brings Markdown support to VS Code and lets me create a notes vault similar to Obsidian. The Mermaid tool lets me create diagrams and graphs using JavaScript expressions, and I still rely on it when creating algorithm schematics. Its customizable schemas let me define templates for my notes, while its backlink functionality is great for building a personal knowledge management system using my documentation files. Throw in its mind map and the ability to embed notes from different files, and you can see why I use the Dendron + VS Code combo instead of going for other note takers.
Git Graph
To pair VS Code with Git
As the most powerful version control platform out there, Git is quite useful for managing code branches and tackling pull requests. Although my scope for Git is fairly limited as a casual developer, I use it for pulling source code from different repositories, managing my coding portfolio, and organizing the sheer mess of branches and updated files in my repositories.
The Git Graph extension further simplifies my coding life by letting me perform all the major Git operations from VS Code’s UI. And I don’t just mean managing my Git repos using push, pull, and merge commands, either. Git Graph lets me check details of commit snapshots and compare them side-by-side within VS Code. On top of that, this neat extension helps me manage tags, track uncommitted changes, and create merge/pull requests.
Remote Development
I need it for my dev VMs
Since my coding projects often devolve into a mess of conflicting packages and multiple files, I avoid creating them on my daily driver. Instead, I use dedicated development environments within virtual machines for my programming needs. A Windows 11 VM running on Proxmox handles most of my coding tasks, and I also tinker with a virtualized Arch instance for Linux-specific projects.
The Remote Development collection of extensions lets me connect to these VMs directly from my PC and MacBook, so I don’t have to litter them with my project files. Heck, I even use it inside my Windows 11 virtual machine to tinker with projects involving WSL shenanigans.
Live Server
A must-have for CSS and JavaScript coders
Live Server was probably the first VS Code extension I ever used, and it’s something I’ve included in all instances of the code editor ever since. If you’ve tried your hand at web-frontend development, you’ve probably experienced the agony called CSS and JavaScript coding, which gets even more tedious when you have to manually reload your web pages after editing their UI syntax on VS Code.
True to its name, Live Server provides live previews of my code in real-time. Every time I edit the .css and .js files (or even .html documents, for that matter), Live Server reflects the changes instantly – regardless of whether I use its embedded preview or launch the dummy web pages in a local browser. This makes it borderline essential for my web development projects – to the point where it ended up saving me countless hours of frustration in my uni days.
I’m tempted to install other VS Code extensions
I plan to keep my VS Code instances free of extension clutter, but it’s hard to keep my tinkering urges in check. On the language front, I’ve already installed Python and C++ extensions. But I’m itching to go for other languages, even though I’m certain I probably won’t work with them anytime soon. Prettier is another neat extension that I’ve used in the past for syntax coloring, though I’ve gotten used to the monochrome palette after spending hours troubleshooting Linux and FreeBSD distros via the Nano editor.
