Settings that I have found are best for optimizing VS Code for sharing code through screencasts and demos
2019-01-14
I've been using VS Code for the past year in my development workflow and recently started recording more screencasts and demos.
I've also started experimenting with tweaking settings to find VS Code settings to make the videos and demos I create clear and easy to follow. The goal is to reduce the visual clutter as much as possible so that the code I'm showing (or writing or demoing) can be shown without any distraction.
Below are the settings I use when recording videos. I recommend them to anyone presenting code through video or live demos.
Since this brief post is about the visual changes of VS Code, here are some screenshots showing the difference. In these screenshots I've used a simple Go file from my dotfiles
.
Unless you're exploring code for the sake of showing hierarchy, in my opinion, there's no good reason for having the Sidebar open, so I use ⌘ + B to hide it.
To achieve the same effects, add the following key/value pairs to your settings.json
file (You can access this file by opening the Command Palette (⌘+Shift+P) and typing Preferences: Open Keyboard Shortcuts (JSON)):
{
"workbench.activityBar.visible": false,
"window.zoomLevel": 2,
"workbench.statusBar.visible": false,
"editor.lineNumbers": "off",
"gitlens.currentLine.enabled": false,
"scm.diffDecorations": "none",
"editor.minimap.enabled": false
}
Below is a brief explanation for each setting and why I've chosen it.
setting: "workbench.activityBar.visible": false,
This setting disables the VS Code Activity Bar. It's a very prominent visual feature of VS Code and can be very distracting.
setting: "window.zoomLevel": 2,
Increasing the size of your code is by far the number one request I hear during presentations. A Zoom Level of 2 (based on a Font Size of 12) is a good setting to make sure that what you're presenting is visible for attendees/viewers. It's also not so big that it's unmanageable for navigating when you're presenting. One thing to remember is that code should probably adhere to not extending past the 80 character length per line.
setting: "workbench.statusBar.visible": false,
The VS Code Status Bar (the bar that extends across the bottom of the window. It contains information about git, where you are in the file, the type of file, etc) is useful for development, but can be very distracting because it's constantly changing if you're typing or navigating. The information it contains is rarely useful for presentation for you or for your audience.
setting: "scm.diffDecorations": "none",
When working out of a project under version control, you'll see blue, green and a red arrow in the "gutter". This can be distracting when typing, so disabling it allows you to focus on the code, especially if you're writing code as you present.
setting: "editor.lineNumbers": "off",
Line numbers are rarely useful during demos and any reference to a line number can be replaced by highlighting with a cursor as you present the information.
setting: "editor.minimap.enabled": false
The minimap doesn't add any contextual value other than where you are in a large file, which is very rarely relevant (if you need to know where you are, consider re-enabling line numbers).
setting: "gitlens.currentLine.enabled": false,
Knowing who changed what and when for the current line doesn't add a lot of value to a demo.
setting: "editor.renderIndentGuides": false
These are the settings I've found work for me, but "works for me" is purely anecdotal! I recommend trying out the configuration I suggested and changing your settings until you find what works for you. If you find something you think would be useful for me, please let me know on twitter at @chaseadamsio.
Hey, I'm Chase. I help aspiring entrepreneurs and makers turn their ideas into digital products and apps.
Subscribe to my Newsletter
Every other week I publish the Curiously Crafted newsletter.
In it, I explore the intersection of curiosity and craft: the people who make stuff, what they make and the way they pursue the craft of making.