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": trueI 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": falseShortcuts
| 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: