From 7023d988829e4d1f37469e7c5edc94c29c2be7fb Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 28 Feb 2018 15:24:19 -0800 Subject: [PATCH] Fix double click to switch to editor --- extensions/markdown/media/main.js | 4 ++-- .../markdown/src/features/previewManager.ts | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/extensions/markdown/media/main.js b/extensions/markdown/media/main.js index 012c444c3d7..998afcfe83c 100644 --- a/extensions/markdown/media/main.js +++ b/extensions/markdown/media/main.js @@ -296,7 +296,7 @@ const offset = event.pageY; const line = getEditorLineNumberForPageOffset(offset); if (!isNaN(line)) { - postCommand('_markdown.didClick', [settings.source, line]); + postMessage('didClick', { line }); } }); @@ -334,7 +334,7 @@ } else { const line = getEditorLineNumberForPageOffset(window.scrollY); if (!isNaN(line)) { - postMessage('revealLine', { source: settings.source, line }); + postMessage('revealLine', { line }); } } }, 50)); diff --git a/extensions/markdown/src/features/previewManager.ts b/extensions/markdown/src/features/previewManager.ts index 60fc3e317ac..84a6c2a4c36 100644 --- a/extensions/markdown/src/features/previewManager.ts +++ b/extensions/markdown/src/features/previewManager.ts @@ -65,6 +65,10 @@ class MarkdownPreview { this.onDidScrollPreview(e.body.line); break; + case 'didClick': + this.onDidClickPreview(e.body.line); + break; + } }, null, this.disposables); @@ -269,6 +273,17 @@ class MarkdownPreview { vscode.TextEditorRevealType.AtTop); } } + + private async onDidClickPreview(line: number): Promise { + for (const visibleEditor of vscode.window.visibleTextEditors) { + if (this.isPreviewOf(visibleEditor.document.uri)) { + const editor = await vscode.window.showTextDocument(visibleEditor.document, visibleEditor.viewColumn); + const position = new vscode.Position(line, 0); + editor.selection = new vscode.Selection(position, position); + return; + } + } + } } export interface PreviewSettings { -- GitLab