Making a coding screencast where viewers can follow every shortcut
A coding screencast is easy to follow when every shortcut appears on screen as you press it, named rather than as a bare string of symbols, and the code is large enough to read at the size people actually watch. A keystroke overlay handles the first part. Your editor’s font settings handle the second. The rest is pacing: say what you are about to do, press the keys, and leave a beat for viewers to read them.
Coding videos often lose people at a shortcut, because one keystroke can rewrite half the screen. Here is why that happens, how to put the keys on screen so they make sense in VS Code, Xcode and JetBrains IDEs, and how to keep the take free of secrets.
Why shortcuts get lost in coding videos
Three things make editor shortcuts harder to follow than shortcuts in other apps.
The same keys do different things in different editors. A viewer who sees Command-B (⌘B) on screen will assume it does what it does in their editor. With default settings on a Mac:
| Keys | VS Code | Xcode | JetBrains IDEs (macOS keymap) |
|---|---|---|---|
| ⌘B | Show or hide the sidebar | Build | Go to declaration |
| ⌘D | Add Next Occurrence | Duplicate | Duplicate line or selection |
| ⇧⌘O | Go to Symbol in Editor | Open Quickly | Go to file |
| ⌘/ | Toggle Line Comment | Comment Selection | Comment with line comment |
Only the last row agrees, and even there the commands have three different names.
You have probably changed some of them. Most developers rebind a handful of keys over the years and forget which. The shortcut you press on camera may not exist on your viewer’s machine.
Many commands are not where people look. Editors have far more commands than menu items, and some shortcuts are sequences rather than chords: in VS Code, Command-K followed by Command-S opens Keyboard Shortcuts, and in JetBrains IDEs, pressing Shift twice opens Search Everywhere. A viewer who blinks misses half of it.
Put the shortcut on screen with its name
Symbols alone are not enough, for the reasons above. What helps is the shortcut and what it did, side by side, for long enough to read.
You can do this by narrating: “Command-D, add next occurrence.” It works, and it is worth doing anyway for the commands that have no menu item. But narration is easy to forget in the middle of a demo, and viewers who skip around never hear it.
A keystroke overlay does it for every key press. In Typebar, the pill shows what you press as keycaps and names each shortcut with the name it has in the app’s own menus. In VS Code, Command-Slash sits in the Edit menu as Toggle Line Comment, and that menu name is the one your viewers will see. Because the names come from the menus, a viewer can find the same command in the same place later.
A few pill settings suit coding in particular:
- Show only shortcuts. The code you type is already in the editor, and repeating it in the pill only adds noise. Show only shortcuts, with or without keys like Return and Tab.
- Repeats count up. A shortcut pressed again counts up as ×2, ×3, so pressing Command-D three times to add three occurrences reads as one chip, not three.
- Typing gathers into one chip if you leave typing on, which keeps a line of code from turning into a stream of single letters.
Pill or keyboard for code
The pill is the better default for coding screencasts. It is compact, so it fits in a corner of an editor that is already full of panels, and it carries the shortcut’s name.
The full keyboard is worth it when position matters more than the name:
- Function keys. JetBrains IDEs lean on them, for example Shift-F6 to rename. On a MacBook, F-keys need fn held down unless you set “Use F1, F2, etc. keys as standard function keys” in System Settings, under Keyboard, Keyboard Shortcuts, Function Keys. A board that lights each key where it sits shows viewers which function key you pressed. If you hold fn for it, say so in the narration, so viewers on a MacBook know to do the same.
- Double taps and chords. Shift pressed twice, or Command-K then Command-S, is easier to follow when keys light up where they sit.
- Modal editors. In Vim-style editing, the letters are the commands, so seeing them on a keyboard helps.
Typebar’s board can match the keyboard you use, MacBook, Magic Keyboard or tenkeyless, in ANSI, ISO or JIS, and its keys follow your input source. You can also show both together. A full keyboard or a keystroke pill: which reads better in a video goes deeper into the trade.
Show your own keybindings, not the defaults
If you have rebound keys, the honest thing is to show your bindings and say they are yours.
In Typebar, hold a modifier such as Command for a moment and the board relabels each key with what it does in the app in front. For 11 apps it reads your own keybindings from their settings files: VS Code, Cursor, Windsurf, Zed, JetBrains IDEs, Xcode, Sublime Text, iTerm2, kitty, Ghostty and WezTerm. So the board shows the keys as they work on your Mac, including the ones you changed. Hand-made packs for VS Code, Xcode and Terminal cover shortcuts their menus leave out.
That makes a good opening segment for a series: hold Command in your editor for a few seconds and let viewers see your setup before you start. The Cheatsheet List is a searchable list of the same shortcuts, and picking one lights its keys on the board, which is handy when a viewer asks how to do something you just did. Put your custom bindings in the video description too, so people can copy them.
VS Code on a Mac: learning shortcuts, including the ones you changed covers the editor side of this.
Make the code readable at viewing size
Many people watch coding videos in a window, not full screen, often on a laptop. Text that looks large to you in the editor is small in a scaled-down video.
- VS Code: open Settings with Command-Comma (⌘,), or Code > Preferences > Settings, and raise Editor: Font Size, plus Terminal › Integrated: Font Size if you use the built-in terminal. To scale the whole window, including the sidebar, use View > Appearance > Zoom In, Command-Equals (⌘=).
- Xcode: Command-Plus (⌘+) and Command-Minus (⌘-) change the editor’s font size, and Control-Command-0 (⌃⌘0) resets it. For a permanent change, use Xcode > Settings > Themes.
- JetBrains IDEs: set the size in Settings under Editor, then Font, or use View > Appearance > Enter Presentation Mode, which enlarges the editor and hides the tool windows.
Then cut the clutter: close panels you will not use and hide the minimap. Fewer panels leave more room for both the code and the keys. Record a short test, then watch it in a browser window at the size your viewers will.
Keep secrets out of the take
Code screencasts have more ways than most videos to leak a secret: API keys in a config file, tokens pasted into a terminal, a password typed into a prompt.
- Password prompts. When macOS marks a field as secure, nothing typed shows in Typebar, and the pill says “Typing hidden in a password field”.
- Hide letters. Shortcuts and special keys still show, letters appear as dots. Use it for any take where you type real values.
- Hide typing in these apps. It starts with 1Password, Bitwarden, Keychain Access and Passwords, and you can add your own.
- Pause. Stop everything showing while you paste a key, then resume.
One thing to know about terminals: Terminal and iTerm2 each have a Secure Keyboard Entry option in their app menu. While it is on, macOS keeps your keystrokes from other apps, so no key display can show what you type in that window. If your keys go missing in the terminal, that is the usual reason. Secure input on a Mac: why some apps go blank to key displays explains it.
Questions
Will the keys appear if I record only the editor window?
No. A recording of one window includes that window only, and the overlay is a separate window. Record the whole display, or an area that includes the overlay.
Pill or keyboard for live coding?
The pill, for most videos: it names each shortcut and takes up less room. Switch to the keyboard for function keys, chords and Vim-style editing.
Does it show my remapped shortcuts?
When you hold a modifier, yes, in the 11 apps whose settings files Typebar reads, including VS Code, Xcode and JetBrains IDEs.
Typebar is $9 once, with a 24-hour trial that has everything on.