Branch Review — Local PR Diff

Review your branch like a GitHub Pull Request, locally inside VS Code — with all the IDE power that the GitHub web UI lacks.
GitHub's web diff can't Go to Definition, Find All References, or search your codebase, because it's just rendering text with no language server. Branch Review shows the same PR-style "files changed" view, but every diff opens against your real checked-out files, so full IntelliSense and code navigation just work.
No pull request required. No remote required. It works on local-only commits, pushed branches, and uncommitted edits alike — it simply compares your current branch against its base.
Features
- Changes vs Base tree — a GitHub-style, collapsing folder tree of every changed file in a dedicated sidebar, color-coded by status (Added / Modified / Deleted / Renamed).
- Real diffs with real navigation — click any file to open a base-branch vs working-tree diff. Because the right-hand side is your actual file, Go to Definition, Find All References, hover, and workspace search all work on the changed code.
- Select commits to view — scope the diff to all commits, a single commit, or a range, just like GitHub's "Select commits to view" picker.
- Open All Changes — stack every change in VS Code's native multi-file diff editor with one click.
- Smart base detection — auto-detects
main / master / develop / trunk (local or origin/…) and compares using the merge-base, so you see exactly what your branch introduced, not unrelated commits on the base.
- Always live — refreshes automatically on commit, checkout, or file edit. A status-bar item and view badge show the changed-file count.
- Override anytime — pick a different base branch from the status bar or the command palette.
Usage
- Open a folder that is a git repository.
- Click the Branch Review icon in the activity bar.
- Browse the changed files; click one to open its diff.
- Use the title-bar buttons to Open All Changes, Select Base Branch, or Refresh.
Commands
| Command |
Description |
Branch Review: Refresh |
Recompute the changed-file list. |
Branch Review: Select Base Branch |
Choose the base branch (or return to auto-detect). |
Branch Review: Open All Changes (Multi-file Diff) |
Open every change in the multi-file diff editor. |
Branch Review: Select Commits to View |
Scope the diff to all commits, a single commit, or a range. |
Settings
| Setting |
Default |
Description |
branchReview.baseBranch |
"" |
Base branch to compare against. Empty = auto-detect. |
branchReview.candidateBaseBranches |
["main","master","develop","trunk"] |
Branch names tried during auto-detection, in order. |
How it works
The extension uses the built-in vscode.git extension API: it resolves the base branch, computes git merge-base <base> HEAD, and lists the files that differ between that merge-base and your working tree. Each file opens with vscode.diff, where the left side is the base version (via the git: content provider) and the right side is your live file.
License
MIT
| |