diff --git a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts index 9b054797e80d9c628a865403374f92d55d296ae2..bf8da6b58a511f0a10ce35a606e81629283a8b6e 100644 --- a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts +++ b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts @@ -1033,6 +1033,9 @@ class TaskService extends EventEmitter implements ITaskService { let identifier: TaskConfig.TaskIdentifier = Objects.assign(Object.create(null), task.defines); delete identifier['_key']; Object.keys(identifier).forEach(key => toCustomize[key] = identifier[key]); + if (task.problemMatchers && task.problemMatchers.length > 0 && Types.isStringArray(task.problemMatchers)) { + toCustomize.problemMatcher = task.problemMatchers; + } } if (!toCustomize) { return TPromise.as(undefined); @@ -1045,7 +1048,7 @@ class TaskService extends EventEmitter implements ITaskService { } } } else { - if (task.problemMatchers === void 0 || task.problemMatchers.length === 0) { + if (toCustomize.problemMatcher === void 0 && task.problemMatchers === void 0 || task.problemMatchers.length === 0) { toCustomize.problemMatcher = []; } }