An IntelliJ-style 3-way merge conflict resolver for VS Code and Code OSS forks (Kiro, Cursor, Windsurf, VSCodium).
When a merge, pull, or rebase leaves conflicts, Merge Resolver opens the file in a three-pane view:
┌────────────────────┬──────────────────────┬────────────────────────┐
│ Changes from main │ Result (editable) │ Changes from feature │
└────────────────────┴──────────────────────┴────────────────────────┘
The three versions come straight from git's conflict stages — :1 (base /
common ancestor), :2 (ours / current), :3 (theirs / incoming) — so it works
for any conflict git records, without parsing <<<<<<< markers out of the file.
Features
- Result starts as the base, and every difference from it is shown as an applicable change: green for non-conflicting (only one side changed), red for conflicts (both sides changed).
- Accept a side with the
»/«gutter arrows. Accepting one side of a conflict inserts it and leaves the other side available — accept both and they stack in the order you click.✕ignores a side. - Apply non-conflicting changes — Left / All / Right — in one click, with live counts on each button.
- Aligned panes with synchronized vertical + horizontal scrolling and curved connecting ribbons between the changes.
- Word-level highlighting of what changed within a line.
- Navigate unresolved changes with the ↑ / ↓ buttons or
F7/Shift+F7(IntelliJ-style); a progress readout shows how much is left.Ctrl/Cmd+Ssaves & stages once everything is resolved. - Reset discards every accept/ignore and returns to base.
- Save & Stage writes the result and runs
git add— enabled only once every change is resolved, so a half-resolved file can't be staged.
Usage
- After a conflicting merge / pull / rebase, open the Merge Resolver view in the activity bar — conflicted files are listed there (across all workspace folders).
- Click a file to open the 3-way merge — or focus a conflicted file and run Merge Resolver: Open 3-Way Merge from the command palette.
- Resolve each change with the gutter arrows (or the Apply buttons), then Save & Stage.
Development
npm install
npm run watch # rebuild on change (extension + webview + Monaco worker)
npm run package # produce a .vsix
Press F5 in VS Code / Kiro to launch an Extension Development Host.
License
MIT