visual-studio-codevs-code-settings

How to completely disable VS Code merge editor?


When I run git cherry-pick, VS Code automatically starts the merge editor.

For some unknown reason, it alters the content of the conflict files and immediately autosaves those changes to the disk, so they remain when I resolve the conflict through the terminal.

Moreover, that thing just doesn't work correctly, and when it does, it just throws an error without a description and refuses to continue!

How can I get rid of that thing?

I disabled every checkbox in settings related to merging, expecting to turn off that thing, but nothing changed.
I tried to google the solution but found only recommendations to disable those checkboxes.
Then I asked ChatGPT. It told me to add a few lines in settings.json, but it wasn't helpful either. Here's what ChatGPT suggested:

{
    "git.mergeEditor": false,
    "git.openDiffOnClick": false,
    "diffEditor.renderSideBySide": false,
    "workbench.editorAssociations": {
        "*.merge": "default"
    },
    "git.enableSmartCommit": false
}


Solution

  • If you want to completely disable the VS Code Merge Editor, you should not only disable the git.mergeEditor setting, but also disable the built-in Merge Conflict extension.

    Extensions viewlet filtered by built-in extensions

    Doing so, the editor will be presented just like regular Git merge conflicts, in text mode, with no Code Actions on top of the conflicts.

    Merge Conflict in text mode