Hacker Typer allows you to record your keystrokes in VSCode, and to play them back either automatically or by typing random keys. Supports typing, editing, selections (including multicursor) and autocompletions.
This version is a fork of Jani Eväkallio's original extension.
😳 See it live in action: Writing Code Like a Real Hacker - Reactivate X, London
⬇️ Download the extension from Visual Studio Code Marketplace
- Record and play macros.
- Insert stop points, so you don't accidentally overrun your talking points while "live coding."
- Play macros back either automatically or by typing randomly.
If you keep the status bar visible you can see the current state of the extension
(View -> Appearance -> Show Status Bar
).
- Open a file or a new VSCode window.
- If you want to use another macro's end state as your new macro's start state,
execute
HackerTyper: Load Macro's Final State
from the command palette (orCmd+Shift+T F
). - Execute
HackerTyper: Record Macro
command from the command palette (orCmd+Shift+T R
). - The current content and selections of the active editor will be snapshotted.
- Start typing. Every edit is recorded into an in-memory buffer, including deletions, selection changes, etc.
- If you make a mistake you can back up by typing
Cmd+Shift+T U
(theUndo Last Recorded Buffer
command). - You can cancel recording with
HackerTyper: Cancel Recording
(Cmd+Shift+T C
). - When you're ready, execute
HackerTyper: Save or Discard Macro
command from the command palette (orCmd+Shift+T S
), and chooseSave
orDiscard
. - Give your macro a name.
- You're done! Or if you wish, you can continue recording the macro.
- Open a file or a new VSCode window.
- Execute
HackerTyper: Play Macro
command from the command palette (orCmd+Shift+T P
). - Choose your previously saved macro.
- The active workspace will be reset to the contents of the macro's starting point. If there is no active text editor, a new anonymous unsaved file will be opened.
- Start hammering your keyboard like a mad-person, or hit the '`' (backtick) key to play the macro back automatically. You can toggle in or out of autoplay mode at any time.
- WHOA HOW ARE YOU TYPING SO FAST
- You can cancel play with
HackerTyper: Cancel Playing
(Cmd+Shift+T X
). - Feel free to move around the file, highlight code etc. When you continue play, the next character will be inserted where you did while recording.
While in recording mode, execute the HackerTyper: Insert Stop Point
command from the command palette (or Cmd+Shift+T I
).
When you hit a stop point in play mode, either manual or autoplay, a high sound ("beep") is played. You must press ENTER
to break out of the stop point and continue playing. All other keystrokes are ignored until you break out.
If you're going to play the macro by hitting keys, you'll want to put a stop point at the end so you don't overrun the end and let your typed gibberish appear on screen. (If you don't do this, you'll be prompted to add a final stop point when you save the macro.)
You can turn off/on beeps by typing Cmd+Shift+T T
(the HackerTyper: Toggle Silence
command).
For Windows, substitute Ctrl
for Cmd
.
Command | Key Binding |
---|---|
HackerTyper: Record Macro |
Cmd+Shift+T R |
HackerTyper: Play Macro |
Cmd+Shift+T P |
HackerTyper: Delete Macros |
Cmd+Shift+T D |
HackerTyper: Export Macro |
Cmd+Shift+T E |
HackerTyper: Import Macro |
Cmd+Shift+T M |
HackerTyper: Load Macro's Final State |
Cmd+Shift+T F |
Export and Import were implemented by Kael Kirk.
Command | Key Binding |
---|---|
HackerTyper: Insert Stop Point |
Cmd+Shift+T I |
HackerTyper: Undo Last Recorded Buffer |
Cmd+Shift+T U |
HackerTyper: Save or Discard Macro |
Cmd+Shift+T S |
HackerTyper: Cancel Recording |
Cmd+Shift+T C |
NOTE! The only ways to exit the recording state are Cancel Recording
and Save or Discard Macro
.
Command | Key Binding |
---|---|
HackerTyper: Cancel Playing |
Cmd+Shift+T X |
HackerTyper: Toggle Silence |
Cmd+Shift+T T |
toggle autoplay mode |
` (backtick) |
- Only supports single file macros #11
- When starting from existing active editor, the document language is not restored from the macro (see vscode#1800)
MIT