VSCode中Meld报错‘scm diff type 18 not supported’问题咨询
问题咨询:VSCode中Meld扩展处理Git双向冲突报错"type 18 not supported"
环境配置
- 系统:Win11
- 已安装组件:Git 2.50.1.windows.1、Meld 3.22.2、VSCode 1.102.1,以及VSCode的Meld扩展
- Git全局配置(已将Meld设为diff/merge工具):
git config --global diff.tool meld git config --global difftool.prompt false git config --global merge.tool meld git config --global mergetool.prompt false
问题场景与现象
测试分支合并工作流时,main分支与working-branch的同一文件(Git_Tester_2.md)双方均有修改,触发合并后出现冲突,当前git status输出如下:
On branch main Your branch is up to date with 'origin/main'. You have unmerged paths. (fix conflicts and run "git commit") (use "git merge --abort" to abort the merge) Changes to be committed: modified: Git_Tester_1.md Unmerged paths: (use "git add <file>..." to mark resolution) both modified: Git_Tester_2.md
具体现象:
- 在Git Bash中执行
git mergetool可正常唤起Meld的三方合并界面,手动解决冲突后执行git merge --continue可完成合并; - 在VSCode源代码控制面板右键冲突文件,选择“open with meld diff (git scm)”时,VSCode右下角弹出报错:"meld Diff Error scm diff type 18 not supported";
- 若合并仅涉及单边修改的文件,该右键操作可正常唤起Meld。
VSCode扩展日志中多次出现相同报错,Git输出日志已记录合并触发过程。
咨询内容
- type 18的相关文档及含义;
- 为何VSCode无法将双向冲突传递给Meld,而命令行可正常操作;
- 遗漏的配置或操作步骤。
内容的提问来源于stack exchange,提问作者ThrowingNones
相关产品推荐
相关产品推荐

