Add context utilization indicator to chat request messages #275993
+63
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a context usage percentage indicator to chat request messages showing how much of the model's context window is consumed by the request. Displays on hover for normal usage (≤80%), and as a warning badge for high utilization (>80%).
Changes
View Model
IChatRequestViewModelwithcontextUsagePercentage?: numberto cache calculated percentagesRenderer
ILanguageModelsServicefor token calculationcomputeTokenLength()on first renderonDidChangeItemHeightwhen calculation completes (with template validity check)Styling
.context-usage-badgewith warning validation colors.request-hover .context-usage-hoverfor tooltip stylingImplementation Notes
Token calculation is async and cached in the view model. The percentage is calculated as
(tokenCount / model.maxInputTokens) × 100. Only the message text is included in the calculation (not variables/attachments).Edge cases handled: missing
modelId, zeromaxInputTokens, template recycling, calculation failures.Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.