Skip to content

Fix #11263: Make Edit Configurations UI fully theme-aware in custom themes - #14692

Open
Prashant Kumar Rai (8prashant) wants to merge 1 commit into
microsoft:mainfrom
8prashant:fix/11263-edit-config-ui-theming
Open

Fix #11263: Make Edit Configurations UI fully theme-aware in custom themes#14692
Prashant Kumar Rai (8prashant) wants to merge 1 commit into
microsoft:mainfrom
8prashant:fix/11263-edit-config-ui-theming

Conversation

@8prashant

Copy link
Copy Markdown

This PR fixes theming issues in the C/C++ Edit Configurations UI so it renders correctly with custom themes such as Bearded Theme.

Fixes #11263

Problem

The Edit Configurations UI had incomplete theming behavior:

  • Some colors were hardcoded, which caused poor contrast and mismatched visuals in custom themes.
  • The editable select area could appear visually incorrect in certain theme combinations.

Fix

  • Added consistent theme-variable usage for foreground, background, input, and dropdown styling.
  • Replaced hardcoded colors in key themed sections with VS Code theme tokens.
  • Improved editable select rendering behavior for theme consistency.

Validation

  • Compared pre-fix and post-fix UI rendering using the same dark-theme token set.
  • Verified before/after screenshots for top area and full page.

Screenshots

Before

Top area:
before-top

Full page:
before-full

After

Top area:
after-top

Full page:
after-full

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Edit Configurations webview to better follow VS Code theme colors.

Changes:

  • Adds reusable theme-token fallbacks.
  • Themes editable selects, page backgrounds, code blocks, and links.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread Extension/ui/settings.html Outdated
Comment thread Extension/ui/settings.html
@8prashant

Copy link
Copy Markdown
Author

Hi Sean McManus (@sean-mcmanus)
All feedback and suggestions from Copilot have been resolved:

  1. Input & Textarea Fallback CSS Variables: Updated the base input and textarea CSS rules in Extension/ui/settings.html to use --cpptools-input-foreground, --cpptools-input-background, and --cpptools-input-border. This ensures fallback colors apply to all text controls when settings-specific theme tokens are absent.
  2. Unqualified Link Selector: Replaced theme-restricted .vscode-light a and .vscode-dark a rules with an unqualified a rule in Extension/ui/settings.html, ensuring link colors (var(--vscode-textLink-foreground)) correctly apply across all themes, including High Contrast modes.

Can u please re-review the PR!!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One user-facing dropdown-affordance regression remains on the current head.

margin: auto;
color: var(--vscode-settings-textInputForeground);
background: var(--vscode-settings-textInputBackground);
color: transparent;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✨Copilot (agent148): [Moderate] color: transparent also makes Chromium's native select chevron transparent because the arrow is painted from the control's current color. Both editable controls therefore lose their visible dropdown affordance; the arrow is absent in the supplied after screenshot as well as in a focused Chromium reproduction. Please suppress only the selected text while preserving color for the native control, for example by using transparent text fill and restoring it on option, or another arrow-preserving approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Pull Request

Development

Successfully merging this pull request may close these issues.

Edit Configurations UI not fully themed with "Bearded Theme Extension"

3 participants