提交 8da3ea97 编写于 作者: C Christof Marti

Use original scheme (fixes #29872)

上级 605ee591
...@@ -88,14 +88,15 @@ export default class CommandHandler implements vscode.Disposable { ...@@ -88,14 +88,15 @@ export default class CommandHandler implements vscode.Disposable {
} }
} }
const scheme = editor.document.uri.scheme;
let range = conflict.current.content; let range = conflict.current.content;
const leftUri = editor.document.uri.with({ const leftUri = editor.document.uri.with({
scheme: ContentProvider.scheme, scheme: ContentProvider.scheme,
query: JSON.stringify(range) query: JSON.stringify({ scheme, range })
}); });
range = conflict.incoming.content; range = conflict.incoming.content;
const rightUri = leftUri.with({ query: JSON.stringify(range) }); const rightUri = leftUri.with({ query: JSON.stringify({ scheme, range }) });
const title = localize('compareChangesTitle', '{0}: Current Changes ⟷ Incoming Changes', fileName); const title = localize('compareChangesTitle', '{0}: Current Changes ⟷ Incoming Changes', fileName);
vscode.commands.executeCommand('vscode.diff', leftUri, rightUri, title); vscode.commands.executeCommand('vscode.diff', leftUri, rightUri, title);
......
...@@ -24,9 +24,10 @@ export default class MergeConflictContentProvider implements vscode.TextDocument ...@@ -24,9 +24,10 @@ export default class MergeConflictContentProvider implements vscode.TextDocument
async provideTextDocumentContent(uri: vscode.Uri): Promise<string | null> { async provideTextDocumentContent(uri: vscode.Uri): Promise<string | null> {
try { try {
const [start, end] = JSON.parse(uri.query) as { line: number, character: number }[]; const { scheme, range } = JSON.parse(uri.query) as { scheme: string; range: { line: number, character: number }[] };
const [start, end] = range;
const document = await vscode.workspace.openTextDocument(uri.with({ scheme: 'file', query: '' })); const document = await vscode.workspace.openTextDocument(uri.with({ scheme, query: '' }));
const text = document.getText(new vscode.Range(start.line, start.character, end.line, end.character)); const text = document.getText(new vscode.Range(start.line, start.character, end.line, end.character));
return text; return text;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册