From 47f9ed5d22a635ef202880b50e0dda2dd65b9684 Mon Sep 17 00:00:00 2001 From: masliu <37888489+masliu@users.noreply.github.com> Date: Thu, 4 Jul 2019 21:37:28 -0400 Subject: [PATCH 1/2] Save source viewColumn for previews, fixes #74008 --- .../src/commands/showSource.ts | 8 +++++--- .../markdown-language-features/src/features/preview.ts | 10 ++++++++++ .../src/features/previewManager.ts | 5 +++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/extensions/markdown-language-features/src/commands/showSource.ts b/extensions/markdown-language-features/src/commands/showSource.ts index a916bccefc0..fb28397440b 100644 --- a/extensions/markdown-language-features/src/commands/showSource.ts +++ b/extensions/markdown-language-features/src/commands/showSource.ts @@ -15,9 +15,11 @@ export class ShowSourceCommand implements Command { ) { } public execute() { - if (this.previewManager.activePreviewResource) { - return vscode.workspace.openTextDocument(this.previewManager.activePreviewResource) - .then(document => vscode.window.showTextDocument(document)); + const { activePreviewResource, activePreviewSourceViewColumn } = this.previewManager; + if (activePreviewResource && activePreviewSourceViewColumn) { + return vscode.workspace.openTextDocument(activePreviewResource).then(document => { + vscode.window.showTextDocument(document, activePreviewSourceViewColumn); + }); } return undefined; } diff --git a/extensions/markdown-language-features/src/features/preview.ts b/extensions/markdown-language-features/src/features/preview.ts index 1479a6ea112..596c86e81b7 100644 --- a/extensions/markdown-language-features/src/features/preview.ts +++ b/extensions/markdown-language-features/src/features/preview.ts @@ -101,11 +101,13 @@ export class MarkdownPreview extends Disposable { const resource = vscode.Uri.parse(state.resource); const locked = state.locked; const line = state.line; + const sourceViewColumn = state.sourceViewColumn; const preview = new MarkdownPreview( webview, resource, locked, + sourceViewColumn, contentProvider, previewConfigurations, logger, @@ -124,6 +126,7 @@ export class MarkdownPreview extends Disposable { public static create( resource: vscode.Uri, previewColumn: vscode.ViewColumn, + resourceColumn: vscode.ViewColumn, locked: boolean, contentProvider: MarkdownContentProvider, previewConfigurations: MarkdownPreviewConfigurationManager, @@ -143,6 +146,7 @@ export class MarkdownPreview extends Disposable { webview, resource, locked, + resourceColumn, contentProvider, previewConfigurations, logger, @@ -154,6 +158,7 @@ export class MarkdownPreview extends Disposable { webview: vscode.WebviewPanel, resource: vscode.Uri, locked: boolean, + private readonly _sourceViewColumn: vscode.ViewColumn, private readonly _contentProvider: MarkdownContentProvider, private readonly _previewConfigurations: MarkdownPreviewConfigurationManager, private readonly _logger: Logger, @@ -248,11 +253,16 @@ export class MarkdownPreview extends Disposable { return this._resource; } + public get sourceViewColumn(): vscode.ViewColumn { + return this._sourceViewColumn; + } + public get state() { return { resource: this.resource.toString(), locked: this._locked, line: this.line, + sourceViewColumn: this.sourceViewColumn, imageInfo: this.imageInfo }; } diff --git a/extensions/markdown-language-features/src/features/previewManager.ts b/extensions/markdown-language-features/src/features/previewManager.ts index dda56c87172..db09c2aaa11 100644 --- a/extensions/markdown-language-features/src/features/previewManager.ts +++ b/extensions/markdown-language-features/src/features/previewManager.ts @@ -65,6 +65,10 @@ export class MarkdownPreviewManager extends Disposable implements vscode.Webview return this._activePreview && this._activePreview.resource; } + public get activePreviewSourceViewColumn() { + return this._activePreview && this._activePreview.sourceViewColumn; + } + public toggleLock() { const preview = this._activePreview; if (preview) { @@ -110,6 +114,7 @@ export class MarkdownPreviewManager extends Disposable implements vscode.Webview const preview = MarkdownPreview.create( resource, previewSettings.previewColumn, + previewSettings.resourceColumn, previewSettings.locked, this._contentProvider, this._previewConfigurations, From 173d010b0a40f0dd74339fb7eb39be530169b06a Mon Sep 17 00:00:00 2001 From: masliu <37888489+masliu@users.noreply.github.com> Date: Thu, 4 Jul 2019 22:29:23 -0400 Subject: [PATCH 2/2] Rename sourceViewColumn to resourceColumn --- .../src/commands/showSource.ts | 6 +++--- .../src/features/preview.ts | 12 ++++++------ .../src/features/previewManager.ts | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/extensions/markdown-language-features/src/commands/showSource.ts b/extensions/markdown-language-features/src/commands/showSource.ts index fb28397440b..d61a3211e8c 100644 --- a/extensions/markdown-language-features/src/commands/showSource.ts +++ b/extensions/markdown-language-features/src/commands/showSource.ts @@ -15,10 +15,10 @@ export class ShowSourceCommand implements Command { ) { } public execute() { - const { activePreviewResource, activePreviewSourceViewColumn } = this.previewManager; - if (activePreviewResource && activePreviewSourceViewColumn) { + const { activePreviewResource, activePreviewResourceColumn } = this.previewManager; + if (activePreviewResource && activePreviewResourceColumn) { return vscode.workspace.openTextDocument(activePreviewResource).then(document => { - vscode.window.showTextDocument(document, activePreviewSourceViewColumn); + vscode.window.showTextDocument(document, activePreviewResourceColumn); }); } return undefined; diff --git a/extensions/markdown-language-features/src/features/preview.ts b/extensions/markdown-language-features/src/features/preview.ts index 596c86e81b7..8822b8d4a61 100644 --- a/extensions/markdown-language-features/src/features/preview.ts +++ b/extensions/markdown-language-features/src/features/preview.ts @@ -101,13 +101,13 @@ export class MarkdownPreview extends Disposable { const resource = vscode.Uri.parse(state.resource); const locked = state.locked; const line = state.line; - const sourceViewColumn = state.sourceViewColumn; + const resourceColumn = state.resourceColumn; const preview = new MarkdownPreview( webview, resource, locked, - sourceViewColumn, + resourceColumn, contentProvider, previewConfigurations, logger, @@ -158,7 +158,7 @@ export class MarkdownPreview extends Disposable { webview: vscode.WebviewPanel, resource: vscode.Uri, locked: boolean, - private readonly _sourceViewColumn: vscode.ViewColumn, + private readonly _resourceColumn: vscode.ViewColumn, private readonly _contentProvider: MarkdownContentProvider, private readonly _previewConfigurations: MarkdownPreviewConfigurationManager, private readonly _logger: Logger, @@ -253,8 +253,8 @@ export class MarkdownPreview extends Disposable { return this._resource; } - public get sourceViewColumn(): vscode.ViewColumn { - return this._sourceViewColumn; + public get resourceColumn(): vscode.ViewColumn { + return this._resourceColumn; } public get state() { @@ -262,7 +262,7 @@ export class MarkdownPreview extends Disposable { resource: this.resource.toString(), locked: this._locked, line: this.line, - sourceViewColumn: this.sourceViewColumn, + resourceColumn: this.resourceColumn, imageInfo: this.imageInfo }; } diff --git a/extensions/markdown-language-features/src/features/previewManager.ts b/extensions/markdown-language-features/src/features/previewManager.ts index db09c2aaa11..3fc8106908b 100644 --- a/extensions/markdown-language-features/src/features/previewManager.ts +++ b/extensions/markdown-language-features/src/features/previewManager.ts @@ -65,8 +65,8 @@ export class MarkdownPreviewManager extends Disposable implements vscode.Webview return this._activePreview && this._activePreview.resource; } - public get activePreviewSourceViewColumn() { - return this._activePreview && this._activePreview.sourceViewColumn; + public get activePreviewResourceColumn() { + return this._activePreview && this._activePreview.resourceColumn; } public toggleLock() {