Besides its lightweight design and compatibility with all major operating systems, the massive collection of extensions is one of the biggest perks of VS Code. Of course, the code editor is fairly powerful on its own, but 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 if you arm it with as many extensions as I did. 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, which is even more of a problem for my dev VMs that have a fraction of the horsepower…
Besides its lightweight design and compatibility with all major operating systems, the massive collection of extensions is one of the biggest perks of VS Code. Of course, the code editor is fairly powerful on its own, but 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 if you arm it with as many extensions as I did. 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, which is even more of a problem for my dev VMs that 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 solid autocomplete and code-review facilities. That said, I’d rather not send my programming data to some external AI agent and have their LLMs get trained on my painstakingly coded files. Fortunately, I’ve got an RTX 3080 Ti that, although isn’t powerful for the creme-de-la-creme models, can still hold its ground against the high-parameter LLMs on Ollama.
Enter Continue.Dev, an extension that lets VS Code harness my Ollama LLMs for my coding tasks. Thanks to debouncing and caching support, Continue.Dev provides quick autocomplete suggestions, while its post-processing facility ensures my LLMs provide relevant responses. It even supports automated pull review requests 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 for 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 execute them 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 can seem 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 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 relying on third-party 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’ve also deployed Arch inside a virtual machine when I need to work on 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. I even use it inside my Windows 11 virtual machine to tinker with projects involving WSL, which I run via nested virtualization 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 own 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) of my webpages, Live Server reflects the changes instantly – regardless of whether I use its embedded preview or launch the dummy web pages on a local browser. This makes it borderline essential for web development – to the point where it saved 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 urges in check. On the language front, I’ve already installed the Python and C++ extensions, since I mostly work with them these days. 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 using the Nano editor.