Skip to content

Add a rainbow color mode for the status bar to visually separate entry categories #316987

@bocan

Description

@bocan

Feature request

Not going to lie - I feel like I'm pushing my luck here!

Add a new workbench.statusBar.colorMode setting that, when set to "rainbow", gives each unique status bar entry category a slightly different background color spread across the hue wheel. Default behavior stays unchanged.

Motivation

The status bar is great as-is, but in practice it's a long horizontal blob of information where it's hard to spot where one entry ends and the next begins. I find myself wanting a visual cue for what each category is, both so I can scan it more quickly and so I can decide which entries I actually want to keep enabled vs. hide.

A subtle rainbow gradient (each entry category getting its own hue) gives every section a stable visual identity without adding any new UI chrome. It also makes the status bar feel more "at a glance" readable.

Proposal

  • New setting: workbench.statusBar.colorMode
    • "default" (default) - current behavior, no change
    • "rainbow" - each unique entry category gets an HSL hue spread evenly across 0 to 300 degrees (avoiding the red wrap-around so it isn't confused with error styling)
  • Entries currently in an error or warning kind are skipped and keep their semantic theme colors, so alerts visibly break the rainbow and remain easy to spot
  • Kind transitions are reflected immediately (an entry that becomes an error drops out of the rainbow on the spot, and rejoins when it returns to standard)

Why opt-in

Some users (myself included) like a more colorful status bar; others prefer the calmer default. Gating it behind a setting keeps the default UX untouched and lets users pick what works for them.

Alternatives considered

  • A theme-only solution: themes can't easily target per-category entries because entries are contributed dynamically by extensions and don't have stable color tokens per category.
  • Always-on rainbow: too visually loud as a default and changes the look of VS Code for everyone.

Additional context

I have a working implementation and have opened a PR here: #316988

This is what it looks like

Screenshot 2026-05-18 at 09 55 13

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions