QuickDiffA minimal, keyboard-first diff viewer for VS Code. Open a repository and see what changed. Move between files and changes from the keyboard. QuickDiff lists changed files in its own sidebar and opens them in VS Code's native diff editor. There is no staging, no comments, and no review workflow.
InstallInstall QuickDiff from the Extensions view (search for "QuickDiff"), or from the command line:
Each version is also attached as a QuickDiff requires VS Code 1.95 or newer and uses the built-in Git extension. Sidebar and modesThe QuickDiff icon in the activity bar opens the Changes list: one row per file, sorted by path, with a status icon and Git colors. The line above the list shows the current mode and the badge shows the number of files. Click a file to open its diff at the first change. There are three modes. Switch with QuickDiff: Pick Mode or the view title button:
Branch mode shows committed changes only. Two-refs mode compares the merge base of the two refs with the second one, the same as GitHub's compare view. This equals a plain The working tree list refreshes on its own when files change. The other modes refresh with the refresh button. The mode is remembered per workspace. QuickDiff: Open All Changes opens every change in one scrollable multi-diff editor.
KeybindingsQuickDiff ships without keybindings, so it never overrides shortcuts you already use. The commands are designed for the keyboard, so bind the ones you want. docs/keybindings.md lists the command IDs and has ready-to-paste examples for Linux, Windows, and macOS. The navigation commands are Next File, Previous File, Next Change, and Previous Change. Next and previous change continue into the next or previous file at the ends, and file navigation wraps around. In the multi-diff editor, they move between changes across all files. Terminal:
|
| Setting | Default | Description |
|---|---|---|
quickdiff.baseBranch |
"" |
Base branch for branch mode. When empty, QuickDiff uses main if it exists, otherwise master. |
Development
Toolchain is managed by mise and tasks run with rite:
mise install
rite setup # mise install + npm install
rite tasks # list tasks
rite test # unit tests (vitest) and integration tests in a headless VS Code
rite package # build the .vsix
Integration tests download VS Code into .vscode-test/ and run it under xvfb-run, which needs these system packages on Debian/Ubuntu (Ubuntu 24.04 names some of them with a t64 suffix, e.g. libgtk-3-0t64):
sudo apt install xvfb libgtk-3-0 libnss3 libasound2 libatk-bridge2.0-0 libdrm2 libgbm1 libxkbcommon0
To run the extension from source, start rite watch in a terminal and press F5 in VS Code ("Run Extension").
Releasing
CI (.github/workflows/ci.yml) runs the tests and uploads the .vsix as a build artifact on every push and pull request. To publish a release, bump version in package.json, add a CHANGELOG.md entry, commit, and push a matching tag (0.2.0 or v0.2.0). The release workflow tests, packages one universal .vsix, and attaches it with checksums to a GitHub Release.
License
MIT

