Skip to content

improve sessions workspace picker#304907

Open
sandy081 wants to merge 2 commits intomainfrom
sandy081/psychological-bandicoot
Open

improve sessions workspace picker#304907
sandy081 wants to merge 2 commits intomainfrom
sandy081/psychological-bandicoot

Conversation

@sandy081
Copy link
Member

No description provided.

Copilot AI review requested due to automatic review settings March 25, 2026 21:16
@sandy081 sandy081 enabled auto-merge (squash) March 25, 2026 21:16
@sandy081 sandy081 self-assigned this Mar 25, 2026
@vs-code-engineering vs-code-engineering bot added this to the 1.114.0 milestone Mar 25, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the Agent Sessions “workspace/worktree” picker and related sessions UI plumbing in vs/sessions, aiming to make workspace selection clearer and more consistent across providers and scenarios.

Changes:

  • Enhances the sessions workspace picker UI: provider grouping, remove-from-recents, and provider-grouped “Select…” browse submenus.
  • Adds section-level toolbar actions in the Sessions list (e.g. “New Session”, “Archive All”, “Unarchive All”) and styling to show them on hover/focus.
  • Extends the shared Action List widget to support clickable submenu chevrons and an option to not reserve submenu space for non-submenu rows.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/vs/sessions/contrib/sessions/browser/views/sessionsViewPane.ts Deleted file (was effectively empty/placeholder in this PR diff).
src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.ts Adds section toolbar actions (new session/archive/unarchive) with confirmation + storage.
src/vs/sessions/contrib/sessions/browser/views/sessionsList.ts Renders a section-header toolbar with scoped context keys for section type.
src/vs/sessions/contrib/sessions/browser/sessionsProvidersServiceInterface.ts Deleted file (was effectively empty/placeholder in this PR diff).
src/vs/sessions/contrib/sessions/browser/sessionsListControl.ts Deleted file (was effectively empty/placeholder in this PR diff).
src/vs/sessions/contrib/sessions/browser/media/sessionsList.css Shows section toolbar on row hover/focus.
src/vs/sessions/contrib/sessions/browser/defaultCopilotSessionsProvider.ts Deleted file (was effectively empty/placeholder in this PR diff).
src/vs/sessions/contrib/remoteAgentHost/browser/remoteAgentHostSessionsProvider.ts Normalizes browse action label to localized “Folders”.
src/vs/sessions/contrib/copilotChatSessions/browser/copilotChatSessionsProvider.ts Localizes and normalizes browse action labels (“Folders”, “Repositories”).
src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.ts Workspace picker: provider change revalidation, recents removal, browse submenu grouping, submenu alignment behavior.
src/vs/sessions/SESSIONS_PROVIDER.md Updates diagram text to reflect current UI areas.
src/vs/platform/actionWidget/browser/actionList.ts Adds submenu chevron click handling + reserveSubmenuSpace option; adjusts submenu rendering.
Comments suppressed due to low confidence (2)

src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.ts:345

  • localize key workspacePicker.browse is reused with a different default message ("Select...") than other call sites in this file. This can break localization (key collisions) and cause wrong strings to be shown. Please use a unique key for this specific label.
				kind: ActionListItemKind.Action,
				label: localize('workspacePicker.browse', "Select..."),
				group: { title: '', icon: Codicon.folderOpened },
				item: {},

src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.ts:355

  • localize key workspacePicker.browse is reused with different default strings ("Select {0}..." vs other variants in this file). Localization keys should map 1:1 to a specific message; otherwise extraction/translation can collide. Please introduce a distinct key for this variant.
					kind: ActionListItemKind.Action,
					label: localize(`workspacePicker.browse`, "Select {0}...", action.label),
					group: { title: '', icon: action.icon },
					item: { browseActionIndex: i },

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants