Support per-element theming: distinct colors for user prompts vs. assistant responses
还没有人认领这个 Issue。
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
Describe the feature or problem you'd like to solve
Copilot CLI's theme setting only applies a single global color palette ("default", "github", "dim", "high-contrast", "colorblind"). There is no way to assign a different color to submitted user prompts versus Copilot's own responses in the scrollback. This makes it hard to visually scan a long session and quickly locate "what did I ask?" among hundreds of lines of agent output (tool calls, reasoning, code blocks). Chat and email clients solve this with sent-vs-received color distinction; Copilot CLI currently has no equivalent, and a similar highlight that once existed was removed as a cosmetic fix rather than tuned (see #3591). Related open requests already tracked in this repo: #2830 (custom color themes), #3591 (restore removed prompt highlight), #2123 (fine-grained per-element theming), #2746, #2288, #1862.
Proposed solution
No response
Example prompts or workflows
- A user runs a long debugging session and wants to scroll back and instantly spot every message they personally typed, without reading every line of agent output in between.
- A user runs multiple Copilot CLI sessions side by side (e.g., one admin-configured session, one standard session) and wants each session's prompts/responses colored differently to avoid mixing them up visually.
- A user with attention/cognitive processing differences relies on visual chunking to parse conversational turns (WCAG 1.3.1 - Info and Relationships) and needs a built-in, theme-aware way to distinguish turns instead of relying on external terminal tricks.
- A team lead reviewing a shared/exported session log wants user prompts and assistant responses visually separated at a glance, the same way code review tools color additions vs. deletions.
- A user prefers the previous background-highlight behavior on user prompts (removed in a past release) and wants an opt-in toggle to restore it, e.g. { "userPromptHighlight": true }, without waiting for a full custom-theming system.
Additional context
Proposed shape (illustrative only): a themeElements key in settings.json that overrides colors per role, falling back to the active theme preset when unset: { "theme": "github", "themeElements": { "userPrompt": { "foreground": "#E0D0FF", "background": "#1A0A2E" }, "assistantResponse": { "foreground": "#D0FFE0" } } } A minimal first step could be a single boolean toggle to restore the old prompt-highlight behavior, as proposed in #3591, before building a full custom-theming system like #2830 proposes. Happy to have this consolidated into #2830 or #3591 if maintainers prefer a single tracking issue — flagging here mainly to add another concrete use case and a possible incremental implementation path.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
未指定文件、测试或入口点。首先定位现有的主题设置以及用户提示和助手响应的渲染路径,然后查看相关 issue #2830、#3591 和 #2123,以确定预期范围。完成应意味着已经就一种能够感知主题、用于区分这些元素的方式达成一致,并且其行为已由测试覆盖。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- shell
- 领域
- accessibility, cli, design
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 活跃
- 描述清晰度
- 需要澄清
- 新手友好度
- 30/100