diff --git a/src/vs/workbench/parts/tasks/browser/taskQuickOpen.ts b/src/vs/workbench/parts/tasks/browser/taskQuickOpen.ts index 80d951b898d486837b6eb29c70eb54654073be86..b7f8e4515e28e81d81085ae1ef6c569dc8663c38 100644 --- a/src/vs/workbench/parts/tasks/browser/taskQuickOpen.ts +++ b/src/vs/workbench/parts/tasks/browser/taskQuickOpen.ts @@ -12,6 +12,8 @@ import { IQuickOpenService } from 'vs/platform/quickOpen/common/quickOpen'; import { Task } from 'vs/workbench/parts/tasks/common/tasks'; import { ITaskService } from 'vs/workbench/parts/tasks/common/taskService'; +import { IExtensionService } from 'vs/platform/extensions/common/extensions'; + import * as base from './quickOpen'; @@ -34,11 +36,15 @@ class TaskEntry extends base.TaskEntry { } export class QuickOpenHandler extends base.QuickOpenHandler { + private activationPromise: TPromise; + constructor( @IQuickOpenService quickOpenService: IQuickOpenService, - @ITaskService taskService: ITaskService + @ITaskService taskService: ITaskService, + @IExtensionService extensionService: IExtensionService ) { super(quickOpenService, taskService); + this.activationPromise = extensionService.activateByEvent('onCommand:workbench.action.tasks.runTask'); } public getAriaLabel(): string { @@ -46,7 +52,9 @@ export class QuickOpenHandler extends base.QuickOpenHandler { } protected getTasks(): TPromise { - return this.taskService.tasks(); + return this.activationPromise.then(() => { + return this.taskService.tasks(); + }); } protected createEntry(taskService: ITaskService, task: Task, highlights: Model.IHighlight[]): base.TaskEntry {