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:

There are many more installed, but only used very rarely.

Configuration

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.

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

ShortcutDescription
⌘ + K + WClose all editors
βŒƒ + `Open terminal

Developing extensions in VSCode

Useful resources:

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: