Fix markdown open preview opening duplicate preview (#162793)

This fixes the markdown 'open preview' command when used with `vscode.ViewColumn.Active` or `vscode.ViewColumn.Beside`
This commit is contained in:
Matt Bierner 2022-10-06 00:50:10 -07:00 committed by GitHub
parent a71ef85de1
commit bfb1a738d1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -42,8 +42,9 @@ class PreviewStore<T extends IManagedMarkdownPreview> extends Disposable {
}
public get(resource: vscode.Uri, previewSettings: DynamicPreviewSettings): T | undefined {
const previewColumn = this.resolvePreviewColumn(previewSettings);
for (const preview of this._previews) {
if (preview.matchesResource(resource, previewSettings.previewColumn, previewSettings.locked)) {
if (preview.matchesResource(resource, previewColumn, previewSettings.locked)) {
return preview;
}
}
@ -57,6 +58,18 @@ class PreviewStore<T extends IManagedMarkdownPreview> extends Disposable {
public delete(preview: T) {
this._previews.delete(preview);
}
private resolvePreviewColumn(previewSettings: DynamicPreviewSettings): vscode.ViewColumn | undefined {
if (previewSettings.previewColumn === vscode.ViewColumn.Active) {
return vscode.window.tabGroups.activeTabGroup.viewColumn;
}
if (previewSettings.previewColumn === vscode.ViewColumn.Beside) {
return vscode.window.tabGroups.activeTabGroup.viewColumn + 1;
}
return previewSettings.previewColumn;
}
}
export class MarkdownPreviewManager extends Disposable implements vscode.WebviewPanelSerializer, vscode.CustomTextEditorProvider {