microsoft / microsoft/vscode

chat: askQuestions option descriptions take too much vertical space in the question carousel

Open
#336,708 0 comments 0 reactions 1 assignee Claimed by @meganrogge View on GitHub
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

## Issue Type

Enhancement / UX improvement

## Component

Chat → question carousel (rendered by the built-in `vscode/askQuestions` tool, `ChatQuestionCarouselPart`).

## Problem

When an agent asks clarifying questions via `vscode/askQuestions`, each option that carries a description is rendered as **two lines** — a title span (`.chat-question-list-label-title`) and a description span (`.chat-question-list-label-desc`) — inside a card whose outer container is capped at `max-height: min(420px, 45vh)`. For 3–4 options with typical descriptions, the card occupies most of the chat panel and hides the agent's own prior output that the user is reading when the question appears.

## Expected behavior

CLI agents like Codex present the same data more efficiently:

- The option list shows only the short titles (one line each).
- The description appears on demand, as a hover tooltip on the row the user is actually looking at.

This keeps the full context reachable while letting the user scan the option set at a glance.

## Suggested change

`src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css`:

1. Hide the description span (`.chat-question-list-label-desc { display: none; }`). The DOM element stays in place — assistive tech and any test assertions still see it; only the visual layout collapses to a single line per option.
2. Reduce the outer `max-height` from `min(420px, 45vh)` to `min(300px, 35vh)` as a secondary safety net.

The hover tooltip is already wired: `renderSingleSelect` / `renderMultiSelect` call `_hoverService.setupDelayedHover(listItem, { content: option.label, position: HoverPosition.BELOW })`, and `option.label` carries the full `"Title - Description"` string (the carousel only splits it into two DOM spans for display). So no TypeScript change is required.

## Impact

- Directly addresses the "card covers most of the window" complaint from users on long-description questions.
- Non-destructive: no data-model, no navigation, no answer-format change.
- One file, 2 lines.

## Environment

- VS Code Stable 1.107+ (chat.questionCarousel renderer shipped in `1.106`).
- Reproduced by triggering a 4-option `askQuestions` call from any agent (e.g., Architect) while signed in with Copilot.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.