Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Better Git VS CodeNew to Visual Studio Code? Get it now.
Better Git VS Code

Better Git VS Code

Ethan Sarif-Kattan

|
3 installs
| (0) | Free
Fast keyboard-driven git diff review — jump between changes and changed files, stage-and-advance, revert, all without the mouse.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Better Git VS Code icon

Better Git VS Code

Fast, keyboard-driven git diff review. Jump between changes and changed files, stage-and-advance, and revert — all without touching the mouse.


Review your git changes at the speed of thought — one hand on the keyboard, no mouse, no Source Control panel hunting. Three features do the heavy lifting:

🔥 Jump between every git change, instantly

VS Code's built-in change navigation is a clunky, click-heavy chore. This fixes it. One key flies you to the next (or previous) change — and when you hit the end of a file, it rolls straight into the next changed file automatically. No scrolling, no clicking through the SCM tree, no losing your place. Fly through an entire AI-generated changeset like it's nothing.

Option+. next · Option+, previous — literally the > / < keys, pointing the way.

Hold Shift to stage as you review

Approve as you go. Holding Shift on the nav key stages the file you're looking at and jumps you straight to the next unstaged change — so reviewing and staging become one continuous flow. No reaching for the mouse, no detour to the Source Control panel. Sweep through, approving each file with a flick of the same key.

Shift+Option+. stage & next · Shift+Option+, stage & previous.

Jump from a staged diff straight to the real file — same line

When you open a staged file, what you see is a frozen, read-only snapshot of what's staged — you can't actually edit it there. Spot a bug mid-review and you'd normally have to go hunt down the real file. One key does it for you: it opens the actual, editable working file at the exact line and scroll position you were looking at. See it, fix it, on the spot.

Option+R — open & reveal the real file (remap to anything you like; see overrides below).

Keybindings

The headline navigation keys are Alt+. and Alt+,. On a standard QWERTY keyboard those are the physical > and < keys — "next" and "previous" feel obvious because the keycaps literally point forward and back.

All bindings ship as defaults and are fully overridable (see below).

Action macOS Windows / Linux
Next change (smart forward) Alt+. Alt+.
Previous change (smart back) Alt+, Alt+,
Next git change (within file) Alt+Z Alt+Z
Previous git change (within file) Alt+A Alt+A
Next changed file Cmd+Alt+. Ctrl+Alt+.
Previous changed file Cmd+Alt+, Ctrl+Alt+,
Stage current file + next change Shift+Alt+. Shift+Alt+.
Stage current file + previous change Shift+Alt+, Shift+Alt+,
Revert selected change and save Alt+Q Alt+Q
Reveal current file in Explorer Alt+R Alt+R

Smart forward / back means: if you're in a diff, move to the next/previous change within it; otherwise navigate forward/back through changed files. It's the one binding you need for most reviews.

Stage current file is also available as a + button in the editor title bar (no key needed).

Dvorak mode (one toggle)

The in-file change-nav defaults (Alt+Z / Alt+A) and stage-and-advance defaults (Shift+Alt+. / Shift+Alt+,) are positioned for QWERTY. On a Dvorak layout those keys land under different fingers and feel awkward.

Flip the single setting better-git-vscode.dvorakMode (Settings → Better Git VS Code, or add "better-git-vscode.dvorakMode": true to your settings.json) and the navigation keys swap to Dvorak-comfortable physical positions:

Action QWERTY default Dvorak mode
Next git change (within file) Alt+Z Alt+V
Previous git change (within file) Alt+A Alt+W
Stage current file + next change Shift+Alt+. Shift+Alt+V
Stage current file + previous change Shift+Alt+, Shift+Alt+W

When the toggle is on, the QWERTY defaults for those four commands are automatically disabled and the Dvorak-position keys take over (it uses VS Code's native config.better-git-vscode.dvorakMode when-clauses — no extension restart trick). Smart forward/back (Alt+. / Alt+,), changed-file nav (Cmd/Ctrl+Alt+. / ,), revert (Alt+Q) and reveal (Alt+R) are left on their defaults in both modes.

Your own keybindings.json entries always win, so you can still hand-tune any of these on top of the toggle (see Overriding any keybinding below).

Overriding any keybinding

Every default ships from the extension and can be overridden per command. To change one, open Preferences: Open Keyboard Shortcuts, search for the command (they're all under the better-git-vscode.* namespace — e.g. better-git-vscode.smart-forward), and assign your own key. To disable a default instead, add a rule prefixed with - in keybindings.json:

{ "key": "alt+.", "command": "-better-git-vscode.smart-forward" }

Tip: many people prefer to map Open & reveal current file in Explorer (better-git-vscode.reveal-current-file-in-explorer) to something like Shift+Cmd+E. We ship the default as Option+R rather than Shift+Cmd+E because the latter is already a built-in VS Code shortcut — but you're free to override it to Shift+Cmd+E (or anything else) in your own keybindings.json if you don't mind reclaiming that combo.

Settings

A few behaviours are configurable under Settings → Better Git VS Code:

  • Dvorak mode — swap the navigation keys to Dvorak-comfortable positions with one toggle (better-git-vscode.dvorakMode, see the Dvorak mode section above).
  • List vs Tree view in Source Control (better-git-vscode.treeView).
  • Whether the Source Control panel opens on navigation (shouldOpenScmView).
  • The badge shown on the file you're currently reviewing (currentFileBadge, default 🔥🔥).
  • Experimental staged-file highlighting (revealStagedInSourceControl).

Credits

Better Git VS Code is a fork of the original git-diff-navigation extension by Alfred Birk, extended with a stage-and-advance review flow, staged-diff navigation, smart forward/back, and the QWERTY < / > default keys. Thanks to Alfred Birk for the original extension.

License

MIT.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft