From efd055b8ba76aed8335ba18f63aa2ee6d04f8525 Mon Sep 17 00:00:00 2001 From: Joyce Er Date: Mon, 6 Dec 2021 12:36:22 -0800 Subject: [PATCH] Refresh markdown preview on all file changes (#138301) * Refresh markdown preview on all file changes * Don't watch `https`, `http`, and `data` uris --- extensions/markdown-language-features/src/features/preview.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extensions/markdown-language-features/src/features/preview.ts b/extensions/markdown-language-features/src/features/preview.ts index 499f168afff..00545d2cef5 100644 --- a/extensions/markdown-language-features/src/features/preview.ts +++ b/extensions/markdown-language-features/src/features/preview.ts @@ -120,6 +120,7 @@ class MarkdownPreview extends Disposable implements WebviewResourceProvider { private imageInfo: { readonly id: string, readonly width: number, readonly height: number; }[] = []; private readonly _fileWatchersBySrc = new Map(); + private readonly _unwatchedImageSchemes = new Set(['https', 'http', 'data']); private readonly _onScrollEmitter = this._register(new vscode.EventEmitter()); public readonly onScroll = this._onScrollEmitter.event; @@ -427,7 +428,7 @@ class MarkdownPreview extends Disposable implements WebviewResourceProvider { const root = vscode.Uri.joinPath(this._resource, '../'); for (const src of srcs) { const uri = urlToUri(src, root); - if (uri && uri.scheme === 'file' && !this._fileWatchersBySrc.has(src)) { + if (uri && !this._unwatchedImageSchemes.has(uri.scheme) && !this._fileWatchersBySrc.has(src)) { const watcher = vscode.workspace.createFileSystemWatcher(uri.fsPath); watcher.onDidChange(() => { this.refresh(true);