* Add accessibility.chat.showCheckmarks setting
Add a boolean accessibility setting that restores the checkmark icons on
completed tool calls and other collapsible items in chat responses.
The setting defaults to false (checkmarks hidden). When enabled, checkmark
and loading icons are shown as the leading icon on collapsible content
parts, tool input/output parts, and inside thinking/subagent boxes.
The setting is reactive - toggling it immediately updates all existing
chat parts without needing a reload.
CSS-based visibility control via a .show-checkmarks class ensures icons
set by subclass autoruns (ChatThinkingContentPart, ChatSubagentContentPart)
are properly shown/hidden without needing to intercept their icon
assignments.
* Fix CI errors and address PR feedback
- Remove unused Codicon import from chatCollapsibleContentPart.ts
- Add @IConfigurationService to ChatTerminalThinkingCollapsibleWrapper
- Remove dead check element and its hover setup from chatToolInputOutputContentPart.ts (PR feedback)
- Remove unused HoverStyle import
* Add checkmark icons to terminal collapsible, references, and progress parts
- Set this.icon = Codicon.check on ChatCollapsibleListContentPart (references)
- Set this.icon = Codicon.check on ChatTerminalThinkingCollapsibleWrapper when
complete, and in markComplete()
- Add .show-checkmarks CSS override for .progress-container check icons in
chat.css and chatThinkingContent.css
* Fix regular terminal tool checkmarks
- Toggle .show-checkmarks on the progress container for non-wrapper terminal
tool parts via config change listener
- Add .progress-container.show-checkmarks CSS selector for when the class
is directly on the progress container element
* Add show-checkmarks to tool progress parts (Read/Edited file messages)
Toggle .show-checkmarks on ChatToolProgressSubPart domNode so the check
icon is visible on completed tool progress messages like 'Read file.ts'
or 'Edited file.ts'.
* Add show-checkmarks to code block pills (Edited file messages)
Toggle .show-checkmarks on the code block pill container element so the
check icon is visible next to 'Edited file.ts' status labels. Add CSS
overrides in chatCodeBlockPill.css and chatThinkingContent.css.
* fix checkpoint scenario for confirmations
---------
Co-authored-by: justschen <justchen@microsoft.com>
Co-authored-by: Justin Chen <54879025+justschen@users.noreply.github.com>
* Organize MCP servers by Workspace/User groups and swap button order
- Add collapsible group headers (Workspace, User) to the MCP servers
list, consistent with other AI customization pages
- Swap Browse Marketplace and Add Server button positions
- Reuse existing group header CSS and icons from AICustomizationListWidget
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Supports both Copilot marketplaces as well as Claude marketplaces (when configured).
Still todo:
- Currently enumerating plugins hit public GH APIs. But this would fail for private repos. In this case we should generalize the PluginInstallService to allow cloning the repo for the purpose of enumeration, not just install.
- Updating plugins still needs to be hooked up.
- Marketplace-installed plugins should get their own Discovery implementation rather than configuring the setting.
- We should normalize the type of plugin a bit so it flows from the marketplace type rather than getting re-discovered from disk.
* chat: mark streaming tool calls as skipped when request completes
When a steering message causes the extension to yield after handleToolStream
has been received but before invokeTool is called, the streaming tool call
should be marked as skipped instead of being silently deleted.
- Call cancelToolCallsForRequest in CancellableRequest.dispose() to ensure
streaming tool calls are marked as skipped when requests complete naturally
- Update cancelToolCallsForRequest to call invocation.cancelFromStreaming()
before deleting pending tool calls from the map
Fixes https://github.com/microsoft/vscode/issues/294224
(Commit message generated by Copilot)
* tests
* feat(chat): add info icon with hover description to group headers
* fix(chat): reorder count and info icon in group header renderer
* fix(chat): restructure group label and info icon layout in group header renderer
* tweak info
* feat: enhance MCP list widget with gallery browsing and UI improvements
* Update customization: npm-i.json
* remove hook from tree
* Update customization: test.prompt.md
* feat: add MCP servers section to AI customization management
* refactor: remove unused IMcpGalleryService dependency and clean up marketplace button visibility logic
* feat: add underline style to last child of back link on hover in MCP list widget
* feat: enable opening MCP server details in the same editor group from the MCP list widget
* feat: add embedded MCP server detail view to AI customization management editor
* Update src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat: enhance accessibility for back link in MCP list widget
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Chat input: add setting for attachment bar visibility, move + icon, adjust toolbar gap
- Add `chat.attachmentBar.alwaysShow` setting (default true) to control
whether the attachments bar is always visible above the chat input
- When enabled, shows implicit context pill in all modes (not just Ask)
- When disabled, attachments bar only appears with explicit attachments
- Move Add Context (+) button to far left of input toolbar (order -1)
- Increase gap between left toolbar items to 6px
* Consolidate: use chat.implicitContext.enabled instead of separate setting
Remove chat.attachmentBar.alwaysShow setting. Instead, the attachments
bar visibility is now driven by the existing chat.implicitContext.enabled
setting (always/first/never) combined with chat.implicitContext.suggestedContext.
When suggestedContext is true, the implicit context pill shows whenever
hasValue is true — which already respects the always/first/never semantics
of chat.implicitContext.enabled. No separate setting needed.
* Fix: preserve implicit context when no code editor is active
When chat.implicitContext.enabled is 'always' but no code editor is
active (e.g. Settings UI is focused), preserve existing implicit context
values instead of clearing them. This ensures the attachment bar stays
visible when toggling the setting back to 'always'.
* Remove custom gap override for input toolbar
* Refactor titlebar colors to use sidebar theme variables
* Add chat bar color variables and update titlebar styles
* Rename chat bar color variables to reflect header usage and update references in titlebarPart
* Rename chat bar header color variables to chat bar title colors and update references
* Update chat bar title color variables to use sidebar theme colors
* Add chat bar color variables and implement location-based color retrieval in ChatViewPane
* Refactor chat bar title colors to use editor background and foreground instead of sidebar colors
* Update chat bar title colors to use sidebar theme colors and remove unused color registrations
* Remove unused location-based color retrieval from ChatViewPane
* Refactor chat bar title colors to use sessions-specific header colors in SidebarPart and TitlebarPart
* Remove unused session sidebar header color registrations from chatColors.ts
* Add sessions sidebar background color and integrate into AgenticSessionsViewPane
* Add sessions sidebar border color and update SidebarPart to use it
* Update sessions sidebar border color to use contrastBorder for accessibility
* Update sessions sidebar border color to use specific hex values for better visibility
* Remove title bar border color from TitlebarPart to simplify styling