Overview Version History Q & A Rating & Review
Diffway
Navigate Git changes by hunk and file while reviewing code in VS Code.
Commands
Diffway: Next Change moves to the next change in the current file. At the end of that file, it opens the next file in the review scope.
Diffway: Previous Change moves to the previous change in the current file. At the start of that file, it opens the previous file in the review scope.
Diffway: Trace Next to Scope End is a diagnostic command that runs Next repeatedly and records the navigation trace in the Diffway Output channel.
No keyboard shortcuts are assigned by default. Assign shortcuts from Preferences: Open Keyboard Shortcuts .
Review scope and file order
Git diffs use the current repository's staged or working tree changes. Staged and unstaged changes are separate review scopes.
When you open a changed file directly, Diffway uses its working tree changes if present; otherwise, it uses its staged changes.
Files follow the VS Code Explorer tree order: directories before sibling files, with names sorted within each group.
Nested repositories and submodules use the deepest matching repository. A submodule pointer in its parent repository is one review item.
Diffs without a complete file list, including GitLens comparisons, support navigation within the current file only.
Diffway stops at scope boundaries and does not switch repositories or change groups.
Merge conflicts, binary files, and diffs that exceed the supported size are reported as unavailable instead of guessing change locations.
Install
Search for Diffway in the VS Code Extensions view, or install it from the Visual Studio Marketplace .
Development
Install dependencies: pnpm install --frozen-lockfile
Compile: pnpm run compile
Run tests: pnpm test
Package a VSIX: pnpm run package
Install a local VSIX: code --install-extension ./diffway-<version>.vsix --force
Press F5 to start the Extension Development Host.
pnpm test creates isolated Git fixtures in tmp/vscode-test-workspace, runs the Extension Host tests in VS Code Insiders, and cleans up the fixtures when finished.