Visual Studio Code (or VSCode) is my text editor of choice. The two main features that draw me towards VSCode are:
- Extensibility: There are many existing extensions and I have even played around with developing a custom extension
- Smooth experience: Having worked with editors such as Eclipse, IntelliJ and Visual Studio, I have found that VSCode just feels smoother and more natural to me
The remainder of the page will describe how I have configured VSCode and how I use it.
Extensions
As mentioned before, VSCode is extremely extensible. The extensions I use regularly are:
- Vim: Iβm far from a Vim power user, but once you get used to the basics, itβs hard to go back
- markdownlint
- Markdown Emoji
- π§βπ»οΈ My Custom VSCode Extension: Created as a learning experience and to reduce the amount of manual work while writing this website
- Grammarly: Automatically checks spelling and grammar
- Gitlens: Iβm mainly using this for the git blame feature and not nearly using this extension to its full capacity
- Python
- ESLint
There are many more installed, but only used very rarely.
Configuration
Markdown link validation
Validating broken local Markdown links can be enabled using
I donβt know why this is disabled by default, because it seems like a universally helpful feature.
File exclude in search
To avoid having auto-generated files or files from external libraries show up in search, they are explicitly excluded:
Disable tabs
In reality, I rarely use different tabs effectively. Iβm always juggling a lot of open files in different tabs that Iβm not actively working on.
So to reduce the clutter, Iβve disabled tabs using:
Multi-root workspaces
Add multiple folders to a single workspace to support working in different programming languages and using standard functionality, such as automatically enabling a Python virtual environment when working in certain code files. This is great when working in a mono-repo and as a result, I donβt have to open multiple instances of VSCode when writing and programming.
More can be found in π³ VSCode Multi-Root Workspaces.
Shortcuts
Shortcut | Description |
---|---|
β + K + W | Close all editors |
β + ` | Open terminal |
Developing extensions in VSCode
Useful resources:
Related blog posts
Open Questions
How do I easily switch between the git diff view and the file itself? Looks like I should configure a custom shortcut for this.
Sources: