diff --git a/Extension/src/LanguageServer/cppBuildTaskProvider.ts b/Extension/src/LanguageServer/cppBuildTaskProvider.ts index de08d6e43..33227c14e 100644 --- a/Extension/src/LanguageServer/cppBuildTaskProvider.ts +++ b/Extension/src/LanguageServer/cppBuildTaskProvider.ts @@ -245,7 +245,7 @@ export class CppBuildTaskProvider implements TaskProvider { const cppBuildTask: CppBuildTask = new Task(definition, TaskScope.Workspace, task.label, ext.CppSourceStr); cppBuildTask.detail = task.detail; cppBuildTask.existing = true; - if (task.group.isDefault) { + if (!util.isString(task.group) && task.group.isDefault) { cppBuildTask.isDefault = true; } return cppBuildTask; @@ -292,9 +292,9 @@ export class CppBuildTaskProvider implements TaskProvider { if (setAsDefault) { rawTasksJson.tasks.forEach((task: any) => { if (task.label === selectedTask?.definition.label) { - task.group = { kind: "build", "isDefault": true }; - } else if (task.group.kind && task.group.kind === "build" && task.group.isDefault && task.group.isDefault === true) { - task.group = "build"; + task.group = { kind: "build", isDefault: true }; + } else if (!util.isString(task.group) && task.group?.kind === "build" && task.group?.isDefault) { + task.group.isDefault = false; } }); } @@ -303,7 +303,7 @@ export class CppBuildTaskProvider implements TaskProvider { const newTask: any = { ...selectedTask.definition, problemMatcher: selectedTask.problemMatchers, - group: setAsDefault ? { kind: "build", "isDefault": true } : "build", + group: setAsDefault ? { kind: "build", isDefault: true } : "build", detail: localize("task.generated.by.debugger", "Task generated by Debugger.") }; rawTasksJson.tasks.push(newTask);