From 79557ebbd2f287f408e330f7e8a50c4cdcadc30a Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 9 Dec 2020 14:04:59 -0800 Subject: [PATCH] Make sure markdown preview is updated if on disk file is updated Fixes #111685 --- .../markdown-language-features/src/features/preview.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/extensions/markdown-language-features/src/features/preview.ts b/extensions/markdown-language-features/src/features/preview.ts index 9244546c570..ac7f76c9271 100644 --- a/extensions/markdown-language-features/src/features/preview.ts +++ b/extensions/markdown-language-features/src/features/preview.ts @@ -156,6 +156,16 @@ class MarkdownPreview extends Disposable implements WebviewResourceProvider { } })); + const watcher = this._register(vscode.workspace.createFileSystemWatcher(resource.fsPath)); + this._register(watcher.onDidChange(uri => { + if (this.isPreviewOf(uri)) { + // Only use the file system event when VS Code does not already know about the file + if (!vscode.workspace.textDocuments.some(doc => doc.uri.toString() !== uri.toString())) { + this.refresh(); + } + } + })); + this._register(this._webviewPanel.webview.onDidReceiveMessage((e: CacheImageSizesMessage | RevealLineMessage | DidClickMessage | ClickLinkMessage | ShowPreviewSecuritySelectorMessage | PreviewStyleLoadErrorMessage) => { if (e.source !== this._resource.toString()) { return;