Typing Mirror is a VS Code extension that opens a code file on the right as a reference and gives the user an empty editor on the left to type into.
As the user types, the reference editor tracks progress:
- typed matching text is dimmed in the reference file
- the next character is highlighted
- the reference editor scrolls along with progress
- the typing editor can show the rest of the current reference line as inline ghost text accepted with
Tab - spacing and line-break differences are tolerated
- comments are visible but skipped, including
//,#,/* ... */, and Python triple-quoted comment blocks - comments can be automatically inserted into the typing editor as they are reached
- the typing editor keeps syntax highlighting without auto-inserting matching
(),{},[], quotes, or backticks - text that truly diverges from the reference is highlighted in the typing editor
Use
- Open this folder in VS Code.
- Press
F5to launch an Extension Development Host. - In the new VS Code window, open any code file.
- Run
Typing Mirror: Start From Current Filefrom the Command Palette, click the preview icon in the editor title bar, right-click in the editor, or right-click a file in Explorer. - Type in the empty editor on the left while the original file stays visible on the right.
The extension can also auto-start when a code file is opened if you enable typingMirror.autoStartOnOpen.
Settings
typingMirror.autoStartOnOpen: starts automatically when a code file is opened. Defaults tofalse.typingMirror.maxAutoStartFileSizeKb: skips very large files for automatic starts. Defaults to512.typingMirror.showCommentsInTypingEditor: inserts reference comments into the typing editor as progress reaches them. Defaults totrue.typingMirror.inlineSuggestions: shows the rest of the current reference line as inline ghost text in the typing editor. Defaults totrue.
Other Functions
-
Opening a folder with a compilation of files, while the extension is activated press "Shift+arrowUp" or "Shift+arrowDown" to cycle
-
Enable comments on editor or disable on the settings menu
Notes
- project has only been tested on .cpp files. Will update on other file supports