Logo Sadman's Blog

A look at my (rather old) VS Code setup

January 9, 2021
3 min read
Table of Contents

I ♥ VS Code

I’ve used a lot of IDEs and code editors since I first wrote a “Hello World” program in grade school, from environments as simple as Python’s IDLE to those as jam-packed as IntelliJ IDEA. For now, I’ve settled on using Microsoft’s Visual Studio Code (VS Code) for pretty much all my programming needs. It’s free, open source, and insanely configurable (it can be as lightweight or as complex as you want it to be).

As someone who does development across multiple machines, it’s important for me to have a consistent workflow with my tools and themes on each of them. While the default VS Code configuration is usable, it’s not ideal. VS Code without any extensions is effectively just a text editor. Once you add all the extensions, however, it becomes fully-fledged IDE.

My Extensions

GitLens

Supercharges the Git capabilities built into Visual Studio Code. The at-a-glance at a glance Git blame annotations and comparison commands are an awesome quality of life improvement, especially when dealing with multiple branches and team repositories.

Visual Studio IntelliCode

Visual Studio Code IntelliSense is provided for JavaScript, TypeScript, JSON, HTML, CSS, SCSS, and Less out of the box. IntelliCode extends that functionality to Python and Java. Even better, the insights are based on the context of your code combined with machine learning, reducing the friction between getting a bunch of hints and choosing the one you were looking for.

Bracket Pair Colorizer

Allows matching brackets to be identified with colours. Incredibly useful when working with obtuse code in Java or C++.

Trailing Spaces

Highlights trailing spaces. While trailing spaces can be deleted with a single command (or automatically, if you’re so inclined) by editing VS Code’s settings, the highlighting added by this extension just makes editing files less of a hassle, especially when coding in Python (where indentation indicates blocks of code and isn’t simply there for readability).

Batch Rename

Has saved me some serious time when working on old repositories with poorly named files, or even when the file naming structures of a repository change. With less than 1000 downloads, it’s definitely a niche tool, but it comes in very handy when you need it (works for my regular old files as well).

Prettier

Prettier is amazing at improving the readability of my code without me having to dive into each individual function and tweak the spacing. Using it means I don’t need to spend effort fixing formatting or looking up rules in a style guide (and I can easily make repository-wide changes if I need some custom formatting of my own).

I’m always experimenting with different settings and extensions to streamline the development process, so my config files are never set in stone. I love looking at the workflows of others, and maybe picking up some lesser-known extensions or tools in the process.