From 4e91a74c6f516a217c39da65d0c4df6680f8cf0e Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 6 Feb 2017 10:19:45 -0800 Subject: [PATCH] Fix Markdown Scroll Sync For Windows Path Casing (#20064) **Bug** Scroll sync not working for some users on windows **Fix** Root cause seems to be that windows drive/path cases can sometimes differ between preview and editor document. Adds a equality check based on `fsPath` as well --- extensions/markdown/src/extension.ts | 6 +++--- extensions/markdown/src/previewContentProvider.ts | 2 +- src/vs/workbench/parts/html/browser/html.contribution.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/extensions/markdown/src/extension.ts b/extensions/markdown/src/extension.ts index 5eaa223961f..d5b28e83881 100644 --- a/extensions/markdown/src/extension.ts +++ b/extensions/markdown/src/extension.ts @@ -44,7 +44,7 @@ export function activate(context: vscode.ExtensionContext) { context.subscriptions.push(vscode.commands.registerCommand('_markdown.revealLine', (uri, line) => { const sourceUri = vscode.Uri.parse(decodeURIComponent(uri)); vscode.window.visibleTextEditors - .filter(editor => editor.document.uri.path === sourceUri.path) + .filter(editor => isMarkdownFile(editor.document) && editor.document.uri.fsPath === sourceUri.fsPath) .forEach(editor => { const sourceLine = Math.floor(line); const text = editor.document.getText(new vscode.Range(sourceLine, 0, sourceLine + 1, 0)); @@ -82,10 +82,10 @@ export function activate(context: vscode.ExtensionContext) { } } }; - if (vscode.window.activeTextEditor && vscode.window.activeTextEditor.document.uri.path === args.path) { + if (vscode.window.activeTextEditor && isMarkdownFile(vscode.window.activeTextEditor.document) && vscode.window.activeTextEditor.document.uri.fsPath === args.fsPath) { return tryRevealLine(vscode.window.activeTextEditor); } else { - const resource = vscode.Uri.file(args.path); + const resource = vscode.Uri.file(args.fsPath); vscode.workspace.openTextDocument(resource) .then(vscode.window.showTextDocument) .then(tryRevealLine, _ => vscode.commands.executeCommand('vscode.open', resource)); diff --git a/extensions/markdown/src/previewContentProvider.ts b/extensions/markdown/src/previewContentProvider.ts index 8fe9fbcf614..1d44e816bbb 100644 --- a/extensions/markdown/src/previewContentProvider.ts +++ b/extensions/markdown/src/previewContentProvider.ts @@ -117,7 +117,7 @@ export class MDDocumentContentProvider implements vscode.TextDocumentContentProv ${body}