Skip to content

[pull] main from microsoft:main#965

Merged
pull[bot] merged 36 commits intocode:mainfrom
microsoft:main
Feb 24, 2026
Merged

[pull] main from microsoft:main#965
pull[bot] merged 36 commits intocode:mainfrom
microsoft:main

Conversation

@pull
Copy link

@pull pull bot commented Feb 24, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

benibenj and others added 30 commits February 23, 2026 23:07
* Removing experimental to enable public preview

* Removing experimental to enable public preview
Add status bar options for inline completions
…etting (#297118)

* 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
* Initial plan

* Add telemetry for command center chat toggle interactions

Co-authored-by: joshspicer <23246594+joshspicer@users.noreply.github.com>

* Update telemetry owner to joshspicer

Co-authored-by: joshspicer <23246594+joshspicer@users.noreply.github.com>

* Update src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: joshspicer <23246594+joshspicer@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* 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>
* refactor: remove hardcoded local agent session provider in registerProviderActions

* feat: add built-in providers option to agent sessions filter

* feat: add provider label overrides to agent sessions filter options

* Update customization: kjk.instructions.md

* feat: update agent sessions filter to allow explicit provider selection

* tidy

* feat: add filtering for allowed providers in agent sessions

* Update src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: enhance AgentSessionsFilter to support allowed providers and user exclusions

* refactor: remove redundant tests for AgentSessionsFilter menu actions

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* 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
* Rename 'AI Customizations' to 'Chat Customizations' in user-visible strings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Rename setting chat.aiCustomizationMenu.enabled to chat.customizationsMenu.enabled

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…97130)

* 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 #294224

(Commit message generated by Copilot)

* tests
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.
plugins: enable installing plugins from marketplaces
fix chat customizations search #296943
…oups and swap button order (#297168)

* 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>
* 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>
…ssing from allow list. (#291483)

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* adding ask question tool

* changes

* updated changes

* reverting the domain specific logic

* refactoring output analyzer logic

* Revert .vscode/mcp.json changes
…psis (#297167)

* Fix sessions list: show description with badge, remove bold, add ellipsis

* Address PR feedback: revert renderDescription to void return type
@pull pull bot locked and limited conversation to collaborators Feb 24, 2026
@pull pull bot added the ⤵️ pull label Feb 24, 2026
@pull pull bot merged commit b97ea3d into code:main Feb 24, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.