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
"markdown.validate.enabled": true
I donโt know why this is disabled by default, because it seems like a universally helpful feature.
Exclude external files from search
Folders can be ignored to prevent files from external libraries from showing up when searching in the workspace using the search.exclude
setting:
{
"settings": {
"search.exclude": {
"**/__pycache__": true,
"**/.venv": true,
"**/.vscode-test": true,
"**/node_modules": true
}
}
}
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:
"workbench.editor.showTabs": false
Shortcuts
Shortcut | Description |
---|---|
โ + K + W | Close all editors |
โ + ` | Open terminal |
Developing extensions in VSCode
Useful resources:
Related pages
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: