Change:
Testing I the following to the "Core - Build" task in this repo: The color shows in the "Run Task" quick pick, but not in the terminal tabs (I tried reloading, but still no color). !
the color will only take effect the next time you run the task - don't think it's worth listening to the config and updating. we don't do that for existing terminals either when an icon or color is set for their profile <img width="1291" alt="Screen Shot 2022-06-28 at 12 06 04 PM" src="https://user-"
Alex mentioned , I actually reproduced the icon and color not applying when testing also
I'm guessing it's just on tasks run via ? It works when running Core - Build explicitly but not ctrl+shift+b: !
should work for dependsOn tasks
works w ctrl+shift+b for other default build tasks () https://user-
works w ctrl+shift+b and the VS Code build task for me https://user-
can you pls send me the exact task config this isn't working for?
it's was just what was shown in the screenshot, the small change to . Might be related to Windows somehow then if you don't see it?
not sure why I can't reproduce it, but could be fixed by
I can still repro this in the latest insiders.
yes so can on Windows. we're going to debug
are there any task load messages in the output channel?
or any way the build task on windows is handled specially?
If there's an issue reading tasks from then an error should be logged to the tasks output channel, and I don't have any. The Run Build Task command shouldn't be handled any differently here, and I confirmed that this isn't build specific by making this keybinding:
to verify: set an icon for a dependency task
If I just set the icon color it now changes the icon away from the tools icon (its still the tools icon in the task quick pick): !

Discussion:
return result; } <del> export function to(task: ITaskDTO | undefined, workspace: IWorkspaceContextService, executeOnly: boolean, icon?: { id: string; color?: string }): ContributedTask | undefined { </del> <ins> export function to(task: ITaskDTO | undefined, workspace: IWorkspaceContextService, executeOnly: boolean, icon?: { id?: string; color?: string }): ContributedTask | undefined { </ins> if (!task || (typeof task.name !== 'string')) { return undefined; }

for (const dependency of task.configurationProperties.dependsOn) { const dependencyTask = await resolver.resolve(dependency.uri, dependency.task!); if (dependencyTask) { <del> dependencyTask.configurationProperties.icon = dependencyTask.configurationProperties.icon || task.configurationProperties.icon; </del> <ins> if (dependencyTask.configurationProperties.icon) { dependencyTask.configurationProperties.icon.id ||= task.configurationProperties.icon?.id; dependencyTask.configurationProperties.icon.color ||= task.configurationProperties.icon?.color; } else { dependencyTask.configurationProperties.icon = task.configurationProperties.icon; } </ins> const key = dependencyTask.getMapKey(); let promise = this._activeTasks[key] ? this._getDependencyPromise(this._activeTasks[key]) : undefined; if (!promise) {

remoteAuthority: this._environmentService.remoteAuthority }); let icon: URI | ThemeIcon | { light: URI; dark: URI } | undefined; <del> if (task.configurationProperties.icon) { </del> <ins> if (task.configurationProperties.icon?.id) { </ins> icon = ThemeIcon.fromId(task.configurationProperties.icon.id); } else { const taskGroupKind = task.configurationProperties.group ? GroupKind.to(task.configurationProperties.group) : undefined;

/** * The icon for this task in the terminal tabs list */ <del> icon?: { id: string; color?: string }; </del> <ins> icon?: { id?: string; color?: string }; </ins> } export enum RunOnOptions {

/** * The icon for the task */ <del> icon: { id: string; color?: string } | undefined; </del> <ins> icon: { id?: string; color?: string } | undefined; </ins> public constructor(id: string, source: IExtensionTaskSource, label: string, type: string | undefined, defines: KeyedTaskIdentifier, command: ICommandConfiguration, hasDefinedMatchers: boolean, runOptions: IRunOptions,