Change:
The new error highlight in the explorer window is great, but for some reason the colours are all black for me. I've tried different themes, but it doesn't make any difference: !
Ah - I've figured it out. It's using the colour from 'editorError.foreground' from 'workbench.colorCustomizations'. I can see the logic in doing this, but I have the foreground colour set to black to hide the squigglies and use the border colour instead to show a double underline, which makes the stand out more. The theme has different colours for the editor area and the explorer area, so is it sensible to use the same colours? Maybe there should be a separate setting?
It's especially bad when you have transparent editor warnings and errors.
didn't you tweak the colors in the last endgame? is this still the same symbolic color?
This is what I've done:
Alright
I'd like to take this as my first issue. Can you point me where I can start?
Sure - here is the code that adds the decorations (using the squiggle colors): You can use the -function to define new colors, like here: I'd define two colors, for errors and for warnings.

Discussion:
export const listDropBackground = registerColor('list.dropBackground', { dark: listFocusBackground, light: listFocusBackground, hc: null }, nls.localize('listDropBackground', "List/Tree drag and drop background when moving items around using the mouse.")); export const listHighlightForeground = registerColor('list.highlightForeground', { dark: '#0097fb', light: '#007acc', hc: focusBorder }, nls.localize('highlight', 'List/Tree foreground color of the match highlights when searching inside the list/tree.')); export const listInvalidItemForeground = registerColor('list.invalidItemForeground', { dark: '#B89500', light: '#B89500', hc: '#B89500' }, nls.localize('invalidItemForeground', 'List/Tree foreground color for invalid items, for example an unresolved root in explorer.')); <ins> export const listErrorForeground = registerColor('list.errorForeground', { dark: '#ea4646', light: '#d60a0a', hc: null }, nls.localize('listErrorForeground', 'Foreground color of list items containing errors.')); export const listWarningForeground = registerColor('list.warningForeground', { dark: '#4d9e4d', light: '#117711', hc: null }, nls.localize('listWarningForeground', 'Foreground color of list items containing warnings.')); </ins> export const pickerGroupForeground = registerColor('pickerGroup.foreground', { dark: Color.fromHex('#0097FB').transparent(0.6), light: Color.fromHex('#007ACC').transparent(0.6), hc: Color.white }, nls.localize('pickerGroupForeground', "Quick picker color for grouping labels.")); export const pickerGroupBorder = registerColor('pickerGroup.border', { dark: '#3F3F46', light: '#CCCEDB', hc: Color.white }, nls.localize('pickerGroupBorder', "Quick picker color for grouping borders."));

import { Event } from 'vs/base/common/event'; import { localize } from 'vs/nls'; import { Registry } from 'vs/platform/registry/common/platform'; <del> import { editorErrorForeground, editorWarningForeground } from 'vs/editor/common/view/editorColorRegistry'; </del> <ins> import { listErrorForeground, listWarningForeground } from 'vs/platform/theme/common/colorRegistry'; </ins> import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry'; import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';

bubble: true, tooltip: markers.length === 1 ? localize('tooltip.1', "1 problem in this file") : localize('tooltip.N', "{0} problems in this file", markers.length), letter: markers.length < 10 ? markers.length.toString() : '+9', <del> color: first.severity === MarkerSeverity.Error ? editorErrorForeground : editorWarningForeground, </del> <ins> color: first.severity === MarkerSeverity.Error ? listErrorForeground : listWarningForeground, </ins> }; } }