From f68f98996289ed705106be6e62f32c22b6cfd396 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Mon, 18 Sep 2017 18:40:16 +0200 Subject: [PATCH] relauncher: prevent duplicate ext host restart --- .../electron-browser/relauncher.contribution.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/parts/relauncher/electron-browser/relauncher.contribution.ts b/src/vs/workbench/parts/relauncher/electron-browser/relauncher.contribution.ts index 94924708f41..aab01c1df47 100644 --- a/src/vs/workbench/parts/relauncher/electron-browser/relauncher.contribution.ts +++ b/src/vs/workbench/parts/relauncher/electron-browser/relauncher.contribution.ts @@ -105,7 +105,13 @@ export class SettingsChangeRelauncher implements IWorkbenchContribution { // React to folder changes when we are in workspace state if (this.contextService.getWorkbenchState() === WorkbenchState.WORKSPACE) { if (!this.onDidChangeWorkspaceFoldersUnbind) { - this.onDidChangeWorkspaceFoldersUnbind = this.contextService.onDidChangeWorkspaceFolders(() => this.onDidChangeWorkspaceFolders()); + + // use a timeout here to prevent event spam because a folder change event + // might follow right after and we really only want to react on folder + // changes from within the workspace and not during state transition. + setTimeout(() => { + this.onDidChangeWorkspaceFoldersUnbind = this.contextService.onDidChangeWorkspaceFolders(() => this.onDidChangeWorkspaceFolders()); + }, 0); } } -- GitLab