mirror of
https://github.com/Microsoft/vscode
synced 2024-10-02 17:32:41 +00:00
parent
6127460acc
commit
8839c0259d
|
@ -502,7 +502,7 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
|
|||
if (!this.versionAndEngineCompatible(filter)) {
|
||||
return Promise.resolve<Task[]>([]);
|
||||
}
|
||||
return this.getGroupedTasks().then((map) => {
|
||||
return this.getGroupedTasks(filter ? filter.type : undefined).then((map) => {
|
||||
if (!filter || !filter.type) {
|
||||
return map.all();
|
||||
}
|
||||
|
@ -1117,7 +1117,7 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
|
|||
|
||||
protected abstract getTaskSystem(): ITaskSystem;
|
||||
|
||||
private getGroupedTasks(): Promise<TaskMap> {
|
||||
private getGroupedTasks(type?: string): Promise<TaskMap> {
|
||||
return Promise.all([this.extensionService.activateByEvent('onCommand:workbench.action.tasks.runTask'), TaskDefinitionRegistry.onReady()]).then(() => {
|
||||
let validTypes: IStringDictionary<boolean> = Object.create(null);
|
||||
TaskDefinitionRegistry.all().forEach(definition => validTypes[definition.taskType] = true);
|
||||
|
@ -1152,10 +1152,12 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
|
|||
}
|
||||
};
|
||||
if (this.schemaVersion === JsonSchemaVersion.V2_0_0 && this._providers.size > 0) {
|
||||
this._providers.forEach((provider) => {
|
||||
counter++;
|
||||
provider.provideTasks(validTypes).then(done, error);
|
||||
});
|
||||
for (const [handle, provider] of this._providers) {
|
||||
if ((type === undefined) || (type === this._providerTypes.get(handle))) {
|
||||
counter++;
|
||||
provider.provideTasks(validTypes).then(done, error);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
resolve(result);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue