From 4e224575d2bbfb4292c790ad4805264b1fa77fc9 Mon Sep 17 00:00:00 2001 From: meganrogge Date: Wed, 5 Jul 2023 11:17:42 -0700 Subject: [PATCH] ensure workspace tasks --- .../contrib/tasks/browser/abstractTaskService.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts index fd5cd393fc6..9597fd9689f 100644 --- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts +++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts @@ -2756,8 +2756,16 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer return true; } + private async _ensureWorkspaceTasks(): Promise { + if (!this._workspaceTasksPromise) { + await this.getWorkspaceTasks(); + } else { + await this._workspaceTasksPromise; + } + } + private async _runTaskCommand(filter?: string | ITaskIdentifier): Promise { - await this._waitForTaskSystem(); + await this._ensureWorkspaceTasks(); if (!filter) { return this._doRunTaskCommand(); } @@ -2915,7 +2923,7 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer title: strings.fetching }; const promise = (async () => { - await this._waitForTaskSystem(); + await this._ensureWorkspaceTasks(); let taskGroupTasks: (Task | ConfiguringTask)[] = []; async function runSingleTask(task: Task | undefined, problemMatcherOptions: IProblemMatcherRunOptions | undefined, that: AbstractTaskService) {