Pair programming on a call: show which shortcut you just used
When you pair over a call, the other person sees what a shortcut did, not which shortcut you pressed: a file opens, a line jumps, three cursors appear. To show them the keys, you have three options. Say each shortcut out loud as you press it, turn on your editor’s own key display (VS Code has one, Developer: Toggle Screencast Mode in the Command Palette), or run a keystroke overlay such as Typebar that names every shortcut as you press it, in any app.
Which one fits depends on how much you switch apps during a session and how much of your screen you share.
Why shortcuts vanish on a call
Sitting next to someone, you can glance at their hands. On a call, all your pair gets is a compressed video of your screen. A shortcut takes a fraction of a second, and what it leaves behind is the result, often with nothing on screen to explain it.
That is fine for the driver, who knows what they pressed. The navigator is left with two bad choices: interrupt with “wait, what was that?” every few minutes, or let it go and never pick up the shortcut. Over a long session, the second one wins, and the habits that make the driver fast never spread.
The fix is to make the keys as visible as the result.
The free fix: say it out loud
The simplest habit costs nothing. Say the shortcut as you press it: “Command-P, then the file name”, “F12 to jump to the definition”, “Command-D to add the next match”. It feels slow for a day, then it becomes automatic.
A few habits that help:
- Say it before you press it when it does something big, like a rename across files or a jump to another file. Your pair then knows what to watch for.
- Pause after a jump. Give the other person a second to see where you landed before you start typing.
- Ask the other person to do the same when they drive. Shortcut habits travel both ways.
The limit is attention. When you are deep in a problem, you stop narrating, and that is exactly when the interesting shortcuts happen.
VS Code’s own Screencast Mode
VS Code can show your keys itself. Open the Command Palette with Command-Shift-P (⇧⌘P), type “screencast”, and choose Developer: Toggle Screencast Mode. Keys you press appear in a strip near the bottom of the VS Code window, and a circle marks the pointer while you click. Run the same command again to turn it off.
Its settings, under Screencast Mode in VS Code’s Settings, let you choose what the overlay shows: the raw keys, the keyboard shortcuts, the names of the commands they run, and command group names. You can also change the font size, how long each key stays up, and how high it sits in the window.
Two things to know:
- It only works inside VS Code. Switch to the browser to check a page, to a separate terminal app, or to Slack to paste a link, and your keys stop showing.
- It is drawn inside the window. That is a plus on a call: if you share only the VS Code window, your pair still sees it.
If you live in VS Code for the whole session, this may be all you need. Editors built on VS Code may offer the same command; check their Command Palette.
Share the right thing
Anything outside the window you share is invisible to your pair. That matters as soon as you show keys with anything other than the editor itself, because an overlay is its own window.
- Share the whole display, not a single app window. In Zoom, Google Meet, Teams and Slack huddles, the share picker offers your screen as well as individual windows.
- On two displays, put the editor and the overlay on the display you share, and keep chat and notes on the other.
- Check what your pair sees the first time. Ask them to describe the corner of the screen where the keys appear.
Show the keys you press while screen sharing in Zoom or Meet goes through the share settings app by app.
An overlay that names each shortcut, in every app
A keystroke overlay shows your keys whatever app is in front. Typebar puts a keystroke pill on screen that shows what you press as keycaps, with the name the shortcut has in the app you are using. The names come from the app’s own menus, so they match what your pair will find if they go looking.
For pairing, a few settings make the difference:
- Pill only. A full keyboard on screen is more than a pairing session needs. Choose Pill Only from the Show submenu in Typebar’s menu bar menu, and drag it to a corner away from your code.
- Only shortcuts. Typing code would fill the pill with letters. Set it to show only shortcuts, so plain typing stays out and every shortcut stands out.
- Counts for repeats. Press the same shortcut again and it counts up as ×2, ×3. Selecting the next four matches with Command-D reads as one entry, not four.
- Secrets stay hidden. In a password field that macOS marks as secure, nothing typed shows, and typing is hidden while 1Password, Bitwarden, Keychain Access or Passwords is in front.
Show or hide it with Control-Option-Command-K (⌃⌥⌘K).
When your pair asks “what is the shortcut for that?”, switch the Show submenu to Keyboard and Pill, then hold a modifier such as Command for a moment: the keys on the board relabel with what they do in the app in front. Typebar also reads your own keybindings from the settings files of VS Code, Cursor, Windsurf, Zed, JetBrains IDEs, Xcode, Sublime Text, iTerm2, kitty, Ghostty and WezTerm, so the cheatsheet shows the keys you actually changed, not just the defaults. Learn your editor’s keybindings, including the ones you changed covers that side.
The VS Code shortcuts that confuse a pair most
These are VS Code’s default shortcuts on a Mac, with the names VS Code gives them. They are the ones that change the screen fastest with the least explanation. VS Code on a Mac: learning shortcuts, including the ones you changed covers many more.
| Keys | Name in VS Code | What your pair sees |
|---|---|---|
| ⌘P | Go to File | A different file appears |
| ⇧⌘P | Command Palette | A list opens and closes |
| ⌃G | Go to Line/Column | The view jumps |
| F12 | Go to Definition | Another file, another place |
| ⇧F12 | Go to References | A panel of uses appears inline |
| F2 | Rename Symbol | A name changes in many places |
| ⌘D | Add Next Occurrence | A second cursor appears |
| ⌥⌘↓ | Add Cursor Below | Cursors stack up |
| ⌥↑ | Move Line Up | A line swaps places |
| ⌘/ | Toggle Line Comment | Lines turn into comments |
On a MacBook, F12 and F2 need fn held down unless “Use F1, F2, etc. keys as standard function keys” is on, in System Settings > Keyboard > Keyboard Shortcuts > Function Keys. That is worth saying out loud too, because your pair may press F12 and get the volume.
Typebar is $9 once, with a 24-hour free trial and everything on.
Questions
Will my pair see the overlay if I share only my editor window?
No. An overlay is a separate window, so it only shows when you share the whole display. VS Code’s Screencast Mode is the exception, because it is drawn inside the editor.
Does Screencast Mode work outside VS Code?
No. It shows keys only while VS Code is in front. For the terminal, browser and everything else, you need an overlay or the habit of saying shortcuts aloud.
Will an overlay show the code I type?
Only if you want it to. Set the pill to show only shortcuts, and plain typing stays off screen.