From cb4c71090cb2edf34536582ebbf658dac034a93b Mon Sep 17 00:00:00 2001 From: Logan Ramos Date: Thu, 12 Feb 2026 14:00:28 -0500 Subject: [PATCH] Advertise context window as one unit (#294993) * Advertise context window as one unit * Update src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Remove arrow icon --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../chatManagement/chatModelsWidget.ts | 44 +++++-------------- 1 file changed, 11 insertions(+), 33 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.ts b/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.ts index 3281126a9a2..bbc655588bf 100644 --- a/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.ts +++ b/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.ts @@ -71,18 +71,9 @@ export function getModelHoverContent(model: ILanguageModel): MarkdownString { } if (model.metadata.maxInputTokens || model.metadata.maxOutputTokens) { + const totalTokens = (model.metadata.maxInputTokens ?? 0) + (model.metadata.maxOutputTokens ?? 0); markdown.appendMarkdown(`${localize('models.contextSize', 'Context Size')}: `); - let addSeparator = false; - if (model.metadata.maxInputTokens) { - markdown.appendMarkdown(`$(arrow-down) ${formatTokenCount(model.metadata.maxInputTokens)} (${localize('models.input', 'Input')})`); - addSeparator = true; - } - if (model.metadata.maxOutputTokens) { - if (addSeparator) { - markdown.appendText(` | `); - } - markdown.appendMarkdown(`$(arrow-up) ${formatTokenCount(model.metadata.maxOutputTokens)} (${localize('models.output', 'Output')})`); - } + markdown.appendMarkdown(`${formatTokenCount(totalTokens)}`); markdown.appendText(`\n`); } @@ -617,27 +608,13 @@ class TokenLimitsColumnRenderer extends ModelsTableColumnRenderer ({ @@ -1133,8 +1110,9 @@ export class ChatModelsWidget extends Disposable { } const ariaLabels = []; ariaLabels.push(localize('model.name', '{0} from {1}', e.model.metadata.name, e.model.provider.vendor.displayName)); - if (e.model.metadata.maxInputTokens && e.model.metadata.maxOutputTokens) { - ariaLabels.push(localize('model.contextSize', 'Context size: {0} input tokens and {1} output tokens', formatTokenCount(e.model.metadata.maxInputTokens), formatTokenCount(e.model.metadata.maxOutputTokens))); + if (e.model.metadata.maxInputTokens || e.model.metadata.maxOutputTokens) { + const totalTokens = (e.model.metadata.maxInputTokens ?? 0) + (e.model.metadata.maxOutputTokens ?? 0); + ariaLabels.push(localize('model.contextSize.totalTokens', 'Context size: {0} tokens', formatTokenCount(totalTokens))); } if (e.model.metadata.capabilities) { ariaLabels.push(localize('model.capabilities', 'Capabilities: {0}', Object.keys(e.model.metadata.capabilities).join(', ')));