Essential Extensions for Visual Studio Code (and a Bonus!)
This is a highly opinionated list of my favorite (and in my opinion, essential) Visual Studio Code extensions.
As much as possible, I’ve grouped them according to the various workloads I use them for most.
General code editing
Peacock is a super useful little extension that allows you to color label your VSCode workspace. If you are used to having multiple workspaces open, you’ll love Peacock.
Better Comments (link)
This is honestly one of the best extensions I’ve come across all year. Better Comments allows you to differentiate your comments between TODOs, questions, extra important comments and more. It’s absolutely brilliant!
Code formatting. Code formatting is like eating green vegetables. You know you have to, but you don’t like it. And honestly, if you could get all the benefits without doing it, you’d go for that option.
Prettier is that option. Install the extension, turn on Format on Save and you literally never have to think about code formatting ever again. Do I really need to say more?
The website for Prettier lives at prettier.io if you want to dig deeper into configuring Prettier to your tastes.
TIP: If you combine Prettier with something like es-lint you get even more format-and-forget goodness.
Markdown All in One (link)
Markdown has been getting more and more popular as a documentation standard so chances are you’ve had to write some Markdown. Markdown All in One makes editing Markdown documents much, much easier by adding Github flavored Markdown, automatic table of contents generation, additional keyboard shortcuts and much more. My absolute favorite feature is the ToC generation. What’s yours?
Bracket Pair Colorizer 2 (link)
Brackets (and braces) are somewhat of a necessary evil, imho. Especially when coding React, it’s pretty easy to get lost in all the nesting and sub-nesting. Bracket Pair Colorizer helps you out here by giving each bracket and brace pair a unique color. Kind of exactly what it says on the tin, right? It’s been a huge time saver for me many, many times.
Containers, Docker and Kubernetes
Unless you’ve been living under a rock (which, as a developer, everyone seems to think you are, anyway) you’ve heard or read about containers, Docker, and Kubernetes.
The extremely short (and therefor, lacking) summary of these technologies is that containers are tiny, self-containing (sorry) little VMs that you can use to run and deploy your software without worrying about the underlying OS, versions, available resources, networking, etc. Containers are the catch-all term for these VMs. Docker is a standard for implementing containers and Kubernetes is a way to organize multiple containers working together (aka orchestration).
If you’re like me and you are too lazy to remember all the
docker commands then this extension is perfect. You get lists of your (running and stopped) containers, images, connected registries and even your networks.
Besides that, you get a ton of Commands added to VSCode which range from adding Docker support to your projects, managing your containers, images and registries and more. You also get IntelliSense for Docker image files.
This extension gives you everything related to developing and managing Kubernetes, no matter whether its local (it supports Minikube) or in the cloud (supporting Azure, AWS and GCP). It also gives you IntelliSense for Kubernetes and Helm files.
There’s some dependencies to be installed before you can use the extension so make sure you read the docs, first. Really, it’ll pay off.
If you’re doing Python development in VSCode you have probably already installed this extension. It basically enables the Python language and adds features like version selection, debugging, unit testing and everything else a developer could possibly want.
PyLance is a relatively new extension by Microsoft that provides (better) IntelliSense, code completion, auto-imports and a host of other goodies to your Python coding experience. I’ve been using it for a couple of months now and it has made me much more productive!
Even though the above two extensions overlap in a lot of ways, the combination of the two makes for a powerhouse of productivity features.
Pretty much the end all, be all extension for C# and .NET support in Visual Studio Code. Like the Python extension, this extension basically enables the .NET Framework and the C# language in VSCode, providing features like syntax highlighting, IntelliSense, code formatting, code navigation, debugging, and more. You literally cannot live without it.
Bonus: Cascadia Font with ligatures!
Not an extension but I wanted to mention it here nonetheless. Cascadia Font is a stunning, coding-optimized font that supports ligatures. Ligatures are a really cool feature that makes things like
!= look pretty (and much more readable, imho). Take a look at the screenshot below to see what I mean.
It’s also a bit fatter than the pretty much similar Firacode, which I think is a bit easier on the eyes.
You can download Cascadia Font here.