IntelliJ-style three-pane merge conflict resolver for VS Code, Cursor, and other VS Code forks.
Interface
Open the Source Control panel in the activity bar to see all conflicted files grouped by MergePro. Click Resolve on any file to launch the three-pane merge editor.
Features
- SCM Panel — grouped view of all conflicted files with per-file progress bars and conflict counts.
- Three-Pane Editor — Current | Result | Incoming layout with synchronized horizontal and vertical scrolling.
- SVG Connectors — IntelliJ-style polygon shapes connecting corresponding chunks across panes.
- Color Language — green (non-conflicting), brown (true conflict), teal (resolved).
- Batch Actions — Accept All Ours, Accept All Theirs, Auto-Resolve Non-Conflicting.
- Magic Resolve — one-click resolution for conflicts where one side is a strict superset of the other.
- Navigation —
Alt+UpandAlt+Downto jump between conflicts. - Undo/Redo — full per-file decision history.
Install
VS Code Marketplace
code --install-extension ismailcherri.merge-pro
Or search "MergePro" in the Extensions view.
Open VSX (Cursor, VSCodium, Windsurf, code-server)
cursor --install-extension ismailcherri.merge-pro
Or visit the Open VSX listing.
Sideload .vsix
Download the latest .vsix from GitHub Releases and run:
code --install-extension merge-pro-0.1.0.vsix
Usage
- Perform a
git mergethat creates conflicts. - Open the Source Control panel — MergePro lists all conflicted files with a progress indicator.
- Click Resolve on a file to open the three-pane editor.
- For each conflict, click the chunk action buttons (accept current, accept incoming, accept both) or edit the result pane directly.
- Use Auto-Resolve Non-Conflicting to bulk-resolve chunks that have no true conflict.
- Click Save to write the resolved file. MergePro stages the file with
git addautomatically.
Keybindings
| Action | Default |
|---|---|
| Previous conflict | Alt+Up |
| Next conflict | Alt+Down |
| Open merge editor | Command Palette: MergePro: Open Merge Editor |
Configuration
Customizing merge state colors
MergePro contributes six color tokens you can override per-theme via workbench.colorCustomizations in settings.json:
"workbench.colorCustomizations": {
"mergePro.conflict.oursBackground": "#bc3f3c66",
"mergePro.conflict.theirsBackground": "#3c64bc66",
"mergePro.nonConflicting.oursBackground": "#62b26230",
"mergePro.nonConflicting.theirsBackground": "#c586c030",
"mergePro.result.unresolvedBackground": "#a0642e40",
"mergePro.resolved.background": "#4ec9b026"
}
| Token | Applies to |
|---|---|
mergePro.conflict.oursBackground |
Conflict chunks in the Ours pane |
mergePro.conflict.theirsBackground |
Conflict chunks in the Theirs pane |
mergePro.nonConflicting.oursBackground |
Auto-mergeable chunks in the Ours pane |
mergePro.nonConflicting.theirsBackground |
Auto-mergeable chunks in the Theirs pane |
mergePro.result.unresolvedBackground |
Chunks awaiting a decision in the Result pane |
mergePro.resolved.background |
Resolved chunks (any pane) |
Use #RRGGBBAA to control transparency. Omit any token to keep its default.
Keybinding customization will follow in a later release.
Requirements
- VS Code 1.85+ (or a fork on the equivalent VS Code API version).
- Git (the built-in Git extension is sufficient).
Development
git clone https://github.com/ismailcherri/merge-pro.git
cd merge-pro
npm install
Press F5 in VS Code to launch the Extension Development Host.
Useful commands:
| Command | Purpose |
|---|---|
npm run build |
Compile host + bundle webview. |
npm run watch:ext |
Watch and rebuild the host. |
npm run watch:webview |
Watch and rebuild the webview. |
npm test |
Run unit tests (host + webview). |
npm run test:watch |
Run tests in watch mode. |
npm run test:integration |
Run @vscode/test-electron suite. |
npm run lint |
ESLint over src/ and webview/. |
npm run format |
Format with Prettier. |
Contributing
Bug reports, feature requests, and pull requests are welcome. See CONTRIBUTING.md for details and CODE_OF_CONDUCT.md for community expectations.
If you are an AI coding assistant (Claude Code, Cursor, GitHub Copilot, Codex, Aider, etc.), see AGENTS.md for project-specific guidance.
License
MIT © Ismail Cherri