Commit Graph

146931 Commits

Author SHA1 Message Date
Robo
1bb7b74f67 chore: update cli dependency (#297618) 2026-02-25 07:44:49 +00:00
Sandeep Somavarapu
99ea24abb8 Refactor new chat pane pickers into self-contained widgets (#297544)
* Refactor new chat pane pickers into self-contained widgets

Extract picker logic from NewChatWidget into independent widget classes
that follow a consistent pattern (trigger button + action list dropdown):

- RepoPicker: Cloud repository selection with storage persistence,
  recently used list, and browse command integration
- CloudModelPicker: Cloud model selection from session option groups
- IsolationModePicker: Worktree/Folder mode using action widget
- BranchPicker: Git branch icons

Simplify RemoteNewSession:
- getModelOptionGroup/getOtherOptionGroups for extension option groups
- When-clause evaluation and context key listening
- Remove dead code (getRepositoryOptionGroup, _syncValuesFromService,
  onDidChangeOptionValues, _cachedRepoGroup)

Use instantiation service for session object creation.
Add toolbar pickers CSS for flex layout.

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

* Use resolved model group ID instead of hardcoded 'models'

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

* Validate storage shape when restoring repo picker state

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

* Guard _initDefaultModel against overwriting user's model selection

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

* Exclude repository option groups from getOtherOptionGroups

Prevents duplicate repo selection UI when extension registers a
repositories option group alongside the dedicated RepoPicker widget.

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

* Re-add onDidChangeSessionOptions listener to RemoteNewSession

Ensures UI re-renders when an extension updates session options
(e.g. after browse command), and disabled state is re-evaluated.

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

* Revert "Re-add onDidChangeSessionOptions listener to RemoteNewSession"

This reverts commit 0ed09f1fb9.

* Revert "Exclude repository option groups from getOtherOptionGroups"

This reverts commit 08370f78a3.

* Revert "Guard _initDefaultModel against overwriting user's model selection"

This reverts commit d5e0b6dac7.

* Revert "Validate storage shape when restoring repo picker state"

This reverts commit 22b9719032.

* Revert "Use resolved model group ID instead of hardcoded 'models'"

This reverts commit f81f5496e7.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 07:29:43 +00:00
Benjamin Pasero
2735ee3183 sessions - refresh sessions when window gains focus (#297608)
* feat - add host service to refresh sessions on focus

* feat - add host service to refresh sessions on focus
2026-02-25 07:25:11 +00:00
Copilot
ca22571811 Stop Escape propagation in settings list edit widgets (#297605)
* Initial plan

* fix: stop Escape propagation in settings list widgets to prevent modal dialog from closing

When editing a list item in the settings editor (e.g., Add Item for
less.lint.validProperties), pressing Escape should cancel the edit
operation, not close the entire modal settings dialog.

The Escape key handlers in ListSettingWidget and
ObjectSettingDropdownWidget were calling preventDefault() but not
stopPropagation(), allowing the event to bubble up to the modal
container's Escape handler which closed the dialog.

Fixes #296337

Co-authored-by: bpasero <900690+bpasero@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: bpasero <900690+bpasero@users.noreply.github.com>
2026-02-25 07:17:35 +00:00
Connor Peet
83956769b7 agent plugins: 'Installed' view shows only installed plugins (#297546)
chore: use constructor param instead of subclass for installedOnly option
2026-02-24 23:08:36 -08:00
Connor Peet
5a537659ee chat: add plugins.enabled preview setting (#297545)
* chat: add plugins.enabled preview setting

Adds a new 'chat.plugins.enabled' preview setting to control whether plugins
are available in chat. When disabled, both IAgentPluginService will return no
plugins and IPluginMarketplaceService will return no marketplace plugins.

- Adds PluginsEnabled constant to ChatConfiguration enum
- Registers 'chat.plugins.enabled' boolean setting with default value true
- Gates AgentPluginService to return empty plugin lists when disabled
- Gates PluginMarketplaceService to return no marketplace plugins when disabled

(Commit message generated by Copilot)

* refresh the marketplace when enablement or upstreams change
2026-02-25 06:21:07 +00:00
dependabot[bot]
0aa520dbb9 Bump minimatch from 9.0.5 to 9.0.6 in /test/sanity (#297542)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 9.0.5 to 9.0.6.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.6)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 9.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-24 22:20:25 -08:00
Kyle Cutler
6d003859b2 Improve dialog handling via browser tools (#297596)
* Improve dialog handling via browser tools

* Update src/vs/workbench/contrib/browserView/electron-browser/tools/handleDialogBrowserTool.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-24 22:15:36 -08:00
Megan Rogge
cf6e184fbe tighten tip when conditions, spilt out /create commands (#297555) 2026-02-24 22:12:35 -08:00
Megan Rogge
b57baf84e3 make question markdown string (#297515) 2026-02-24 22:12:27 -08:00
Jainam Patel
32659feaf9 Fix spelling errors in nls.localize strings in extensions activation events (#297378) 2026-02-25 06:11:19 +00:00
Paul
d57d4ebe7c Agent debug panel UI cleanup (#297571) 2026-02-24 20:51:36 -08:00
Osvaldo Ortega
07de89bf54 Merge pull request #297521 from microsoft/copilot-worktree-2026-02-24T17-52-24
Agent sessions window slash commands
2026-02-24 18:10:33 -08:00
Osvaldo Ortega
104760532f Merge remote-tracking branch 'origin/main' into copilot-worktree-2026-02-24T17-52-24
# Conflicts:
#	src/vs/sessions/contrib/chat/browser/newChatViewPane.ts
2026-02-24 17:56:52 -08:00
Osvaldo Ortega
f3a3ccca51 Refactor section selection handling in AICustomizationManagementActionsContribution for improved type safety 2026-02-24 17:50:53 -08:00
Osvaldo Ortega
4480c7d4b3 Merge pull request #297548 from microsoft/copilot-worktree-2026-02-24T23-19-56
Agent sessions window: Auto-open folder/repo picker when sending without selection
2026-02-24 17:48:47 -08:00
Vijay Upadya
873e82d7da Chat Debug Panel: Cleanup and simplify filtering (#297569)
Cleanup and simplify filtering
2026-02-24 17:48:02 -08:00
Osvaldo Ortega
39c1dd71bf Reset cli/Cargo.lock to main
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-24 17:47:04 -08:00
Kyle Cutler
83cc105815 De-duplicate browser open tools (#297552)
* De-duplicate browser open tools

* feedback
2026-02-24 17:35:18 -08:00
Matt Bierner
ad1a842ddc Merge pull request #297153 from mjbvz/dev/mjbvz/medical-lark
Add newSessionOptions so providers can set the initial options for a session
2026-02-24 17:12:11 -08:00
Matt Bierner
136e80015a Merge pull request #297513 from mjbvz/dev/mjbvz/competitive-aardvark
Align js/ts extension name
2026-02-24 17:11:56 -08:00
Kyle Cutler
6c1c0127e7 Browser: Fix contents shifting slightly during paused state (#297535)
Browser: fix contents slightly shifting during paused state
2026-02-24 17:03:29 -08:00
Kyle Cutler
1908fdd2f5 Browser: selectively hide file chooser during agent interactions (#297217) 2026-02-24 17:03:22 -08:00
Connor Peet
f641d8bcc0 chat: add search icon to Agent Plugins installed view (#297540)
Adds a search icon to the Agent Plugins - Installed view toolbar to allow
users to easily browse and search for agent plugins, matching the pattern
already established in the MCP Servers view.

- Creates AgentPluginsBrowseCommand action that opens the extensions search
  with the @agentPlugins filter
- Registers the command in the view toolbar (MenuId.ViewTitle)
- Exports InstalledAgentPluginsViewId constant for consistent view ID usage
- Adds necessary imports for Action2, MenuId, Codicon, and services

Fixes https://github.com/microsoft/vscode/issues/297269

(Commit message generated by Copilot)
2026-02-24 17:00:02 -08:00
Connor Peet
784fc2b81a chat: fix plugin folder action to reveal folder instead of opening in editor (#297537)
The 'Open Plugin Folder' action was incorrectly using IOpenerService.open() on the
plugin directory, which attempted to open the directory in the editor, resulting in
an error page. Fixed to use the 'revealFileInOS' command instead, which properly
reveals the folder in the file explorer.

Changes:
- Replace IOpenerService with ICommandService dependency
- Use 'revealFileInOS' command to reveal the plugin folder
- Update label from 'Open Containing Folder' to 'Open Plugin Folder'
- Open plugin URI directly instead of its parent directory

Fixes https://github.com/microsoft/vscode/issues/297250

(Commit message generated by Copilot)
2026-02-24 16:58:42 -08:00
Connor Peet
d3a1bce4b1 chat: simplify plugin management (#297536)
Replace the manage plugins quick pick UI with a direct opening of the
extensions marketplace with @agentPlugins search pre-filled. This provides
a simpler UX by removing an extra dialog layer.

- Simplifies ManagePluginsAction to open extensions sidebar with preset search
- Removes the entire quick pick UI and related helper functions
- Users can now directly browse and install plugins from the marketplace

Fixes https://github.com/microsoft/vscode/issues/297368
Fixes https://github.com/microsoft/vscode/issues/297517

(Commit message generated by Copilot)
2026-02-24 16:58:12 -08:00
Connor Peet
b2c29c0263 chat: support installing plugins from private marketplaces (#297525)
* chat: support installing plugins from private marketplaces

Adds support for installing plugins from private git repositories, git URIs,
and file paths. Introduces a new agentPluginRepositoryService to handle
cloning and managing custom marketplace repositories.

- Extracts shared repository logic into a dedicated common service
- Adds support for fallback to private repo cloning when public marketplace
  lookup fails
- Allows \https://\ and SCP-style git URIs for marketplace references
- Allows \ile:///\ URIs for local marketplace directories
- Adds comprehensive unit tests for new marketplace functionality

Fixes https://github.com/microsoft/vscode/issues/297524

(Commit message generated by Copilot)

* comments and ci

* bump
2026-02-24 16:57:48 -08:00
Paul
f900fee390 Rebrand as agent debug panel (#297541) 2026-02-25 00:43:33 +00:00
Osvaldo Ortega
47e419b0d3 Update dependencies in Cargo.lock and refactor import statements in newChatViewPane.ts for improved clarity 2026-02-24 16:42:16 -08:00
Osvaldo Ortega
1e55f598c0 Auto-open folder/repo picker when sending without selection
When the user tries to send a message without having selected a folder
(Local/Background) or repository (Cloud), automatically open the
relevant picker instead of silently doing nothing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-24 16:35:08 -08:00
Osvaldo Ortega
43c9f4ac12 Merge remote-tracking branch 'origin/main' into copilot-worktree-2026-02-24T17-52-24
# Conflicts:
#	src/vs/sessions/contrib/chat/browser/newChatViewPane.ts
#	src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.ts
2026-02-24 16:21:38 -08:00
Osvaldo Ortega
296965cb64 Fix type assertion for selectSectionById method in AICustomizationManagementActionsContribution 2026-02-24 16:07:01 -08:00
Osvaldo Ortega
368485b61f Refactor section selection handling in AICustomizationManagementActionsContribution for improved type safety 2026-02-24 16:06:06 -08:00
Osvaldo Ortega
32cbaeba99 Refactor slash command decoration range calculation in NewChatWidget for improved accuracy 2026-02-24 16:03:10 -08:00
Osvaldo Ortega
f2196b0f1d Refactor slash command decoration registration in NewChatWidget for improved static handling 2026-02-24 16:02:20 -08:00
Matt Bierner
06518a468d Merge pull request #297490 from mjbvz/dev/mjbvz/copilot/update-package-json-config-names
Update package json config names
2026-02-24 16:01:01 -08:00
Sandeep Somavarapu
9acfea7745 remove recent folders from workspaces in folder picker (#297520) 2026-02-24 15:45:30 -08:00
Sandeep Somavarapu
6220f98a59 support remove element on action list item (#297512) 2026-02-24 22:36:21 +00:00
Matt Bierner
8979069f1d Align js/ts extension name
Fixes #297310

Matches the new setting scope as well as the terms we often use in product
2026-02-24 14:23:04 -08:00
João Moreno
f6fcc6d90e Inform if user is internal during update requests (#297464)
fixes #297453
2026-02-24 14:17:09 -08:00
Osvaldo Ortega
9071918c03 Remove unused slash commands from NewChatWidget to streamline functionality 2026-02-24 14:12:54 -08:00
Osvaldo Ortega
889e2e7df6 Refactor slash command execution in NewChatWidget to open specific sections in AICustomizationManagementEditor 2026-02-24 14:10:01 -08:00
Harald Kirschner
ad8360665e Enable subagent custom agent setting by default (#297499) 2026-02-24 21:41:29 +00:00
Josh Spicer
f3dba005db sessions welcome flow: fix stale session after sign in (#297481)
sessions welcome: restart extension host after setup to fix model registration

After the welcome overlay completes (extension installed + user signed in),
restart the extension host so the copilot-chat extension picks up the new
auth session cleanly. Without this, the extension activates before the auth
provider is ready, gets stuck in GitHubLoginFailed, and models never appear.

The overlay stays visible during the restart so the user doesn't see a
broken intermediate state. Dismiss is controlled by the contribution via
an autorun watching isComplete, not by the overlay itself.
2026-02-24 13:05:10 -08:00
Matt Bierner
6c446ea94e Support old settings too for now 2026-02-24 12:55:16 -08:00
Vijay Upadya
f340d3616a Fix inline references rendering as literal text inside code spans and fenced code blocks (#296201)
* Prevent ChatEditorInput leak

* Few minor updates

* Revert "Few minor updates"

This reverts commit 92ecb6728d.

* Revert "Prevent ChatEditorInput leak"

This reverts commit 38f5c83895.

* Fix inline references rendering as literal text inside code spans and fenced code blocks

---------

Co-authored-by: vijay upadya <vj@example.com>
2026-02-24 12:14:51 -08:00
Osvaldo Ortega
ea5c4e72c2 Refactor slash command execution in NewChatWidget to use ICommandService for improved command handling 2026-02-24 12:07:48 -08:00
Osvaldo Ortega
7c3dc064e7 Refactor slash command handling in NewChatWidget to utilize viewsService and update command details for better functionality 2026-02-24 12:04:05 -08:00
Osvaldo Ortega
badf88656f Remove debug slash command from NewChatWidget to streamline functionality 2026-02-24 12:00:39 -08:00
Osvaldo Ortega
110228a0bf Disable icon display in suggestions for NewChatWidget to enhance user experience 2026-02-24 11:59:42 -08:00