@@ -362,6 +362,8 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
362
362
const processContext = ProcessExecutionSupportedContext . bindTo ( this . _contextKeyService ) ;
363
363
processContext . set ( process && ! isVirtual ) ;
364
364
}
365
+ // update tasks so an incomplete list isn't returned when getWorkspaceTasks is called
366
+ this . _workspaceTasksPromise = undefined ;
365
367
this . _onDidRegisterSupportedExecutions . fire ( ) ;
366
368
}
367
369
@@ -374,7 +376,7 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
374
376
this . _tasksReconnected = true ;
375
377
return ;
376
378
}
377
- this . getWorkspaceTasks ( ) . then ( async ( ) => {
379
+ this . getWorkspaceTasks ( TaskRunSource . Reconnect ) . then ( async ( ) => {
378
380
this . _tasksReconnected = await this . _reconnectTasks ( ) ;
379
381
} ) ;
380
382
}
@@ -2352,11 +2354,11 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
2352
2354
return { workspaceFolder, set : undefined , configurations : undefined , hasErrors : false } ;
2353
2355
}
2354
2356
2355
- private async _computeTasksForSingleConfig ( workspaceFolder : IWorkspaceFolder | undefined , config : TaskConfig . IExternalTaskRunnerConfiguration | undefined , runSource : TaskRunSource , custom : CustomTask [ ] , customized : IStringDictionary < ConfiguringTask > , source : TaskConfig . TaskConfigSource , isRecentTask : boolean = false ) : Promise < boolean > {
2356
- if ( ! config || ! workspaceFolder ) {
2357
+ private async _computeTasksForSingleConfig ( workspaceFolder : IWorkspaceFolder , config : TaskConfig . IExternalTaskRunnerConfiguration | undefined , runSource : TaskRunSource , custom : CustomTask [ ] , customized : IStringDictionary < ConfiguringTask > , source : TaskConfig . TaskConfigSource , isRecentTask : boolean = false ) : Promise < boolean > {
2358
+ if ( ! config ) {
2357
2359
return false ;
2358
2360
}
2359
- const taskSystemInfo : ITaskSystemInfo | undefined = workspaceFolder ? this . _getTaskSystemInfo ( workspaceFolder . uri . scheme ) : undefined ;
2361
+ const taskSystemInfo : ITaskSystemInfo | undefined = this . _getTaskSystemInfo ( workspaceFolder . uri . scheme ) ;
2360
2362
const problemReporter = new ProblemReporter ( this . _outputChannel ) ;
2361
2363
if ( ! taskSystemInfo ) {
2362
2364
problemReporter . fatal ( nls . localize ( 'TaskSystem.workspaceFolderError' , 'Workspace folder was undefined' ) ) ;
@@ -2748,16 +2750,7 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
2748
2750
return true ;
2749
2751
}
2750
2752
2751
- private async _ensureWorkspaceTasks ( ) : Promise < void > {
2752
- if ( ! this . _workspaceTasksPromise ) {
2753
- await this . getWorkspaceTasks ( ) ;
2754
- } else {
2755
- await this . _workspaceTasksPromise ;
2756
- }
2757
- }
2758
-
2759
2753
private async _runTaskCommand ( filter ?: string | ITaskIdentifier ) : Promise < void > {
2760
- await this . _ensureWorkspaceTasks ( ) ;
2761
2754
if ( ! filter ) {
2762
2755
return this . _doRunTaskCommand ( ) ;
2763
2756
}
@@ -2915,7 +2908,6 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
2915
2908
title : strings . fetching
2916
2909
} ;
2917
2910
const promise = ( async ( ) => {
2918
- await this . _ensureWorkspaceTasks ( ) ;
2919
2911
let taskGroupTasks : ( Task | ConfiguringTask ) [ ] = [ ] ;
2920
2912
2921
2913
async function runSingleTask ( task : Task | undefined , problemMatcherOptions : IProblemMatcherRunOptions | undefined , that : AbstractTaskService ) {
0 commit comments