能否在VS Code自定义扩展中不依赖Git调用合并编辑器?
自定义无Git依赖的VS Code 2/3路合并扩展实现
调用合并编辑器的有效代码
你尝试使用的vscode.openMergeEditor命令是可行的,这是VS Code内部用于启动合并编辑器的命令(未在公开的官方命令文档中列出),直接用以下代码即可调用:
await vscode.commands.executeCommand("vscode.openMergeEditor", { base: { uri: baseUri }, input1: { uri: input1Uri, title: "Modified Version" }, input2: { uri: input2Uri, title: "Other Version" }, result: { uri: resultUri, title: "Merged Result" } });
核心说明
- 适配不同合并模式:
- 3路合并:保留
base参数,用于展示所有版本的共同基础文件 - 2路合并:移除
base参数,仅传入input1、input2和result三个参数即可
- 3路合并:保留
- 命令的非公开属性:该命令属于VS Code内部未公开的API,因此在官方公开的命令参考文档中无法找到,官方文档仅列出了公开的差异视图相关命令。
内容的提问来源于stack exchange,提问作者Kerim Güney
相关产品推荐
相关产品推荐

