Skip to content

Improve workspace picker UX#312245

Merged
sandy081 merged 1 commit intomainfrom
sandy081/workspace-picker-improvements
Apr 23, 2026
Merged

Improve workspace picker UX#312245
sandy081 merged 1 commit intomainfrom
sandy081/workspace-picker-improvements

Conversation

@sandy081
Copy link
Copy Markdown
Member

Summary

Improvements to the session workspace picker UX:

Flat recency-sorted list

Remove source/provider grouping — workspaces now appear in a flat list sorted by most recently used, so the last-used agent host workspace shows at the top regardless of provider.

Browse actions in main list

Replace the single Select... submenu entry with individual browse actions shown directly in the main picker list.

Browse action grouping by group property

  • Add optional description, group, and icon support to ISessionWorkspaceBrowseAction
  • Actions sharing the same group key are merged into one entry with a submenu (e.g. all 'folders' actions become Select Folders... with provider sub-entries)
  • Actions without a group are shown individually
  • Provider descriptions: Copilot Folders → "Local", Repositories → "GitHub"; agent host providers → provider label

Action list improvements

  • Fix group-title alignment in inline-description mode (margin-left: auto) so titles are always right-aligned even when description is absent
  • Pass icons for submenu entries via group.icon mechanism (read from action's icon property)
  • Remove fixedWidth option (no remaining callers)

Copilot AI review requested due to automatic review settings April 23, 2026 22:24
@sandy081 sandy081 enabled auto-merge (squash) April 23, 2026 22:24
… right-aligned descriptions

- Remove source grouping from workspace picker; show a flat recency-sorted list
- Browse actions grouped by 'group' property instead of label comparison
- When multiple providers share a group, show a single entry with a submenu
- Each browse action carries an optional description (Local, GitHub, provider name)
- Browse action descriptions shown right-aligned using group title in inline-description mode
- ActionList: submenu items use action icon via group.icon
- ActionList: fix group-title right-alignment in inline-description mode (margin-left: auto)
- ActionList: remove fixedWidth option (no remaining consumers)
- ISessionWorkspaceBrowseAction: add optional description and group fields

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@sandy081 sandy081 force-pushed the sandy081/workspace-picker-improvements branch from a9960f4 to 6610927 Compare April 23, 2026 22:24
Copy link
Copy Markdown
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 refines the Agents window session workspace picker UX by flattening and recency-sorting workspace entries, and by surfacing provider “browse/select” actions directly in the main list with optional grouping into submenus.

Changes:

  • Extend ISessionWorkspaceBrowseAction with optional description and group metadata to support richer picker rendering.
  • Rework workspace picker item construction to remove provider/source grouping and add grouped/ungrouped browse actions in the main list.
  • Update ActionList styling/rendering to improve group-title alignment in inline-description mode and support submenu item icons; remove the unused fixedWidth option.
Show a summary per file
File Description
src/vs/sessions/services/sessions/common/session.ts Adds description/group to browse action contract for workspace picker UI.
src/vs/sessions/contrib/remoteAgentHost/browser/remoteAgentHostSessionsProvider.ts Adds browse action description/group metadata for remote agent host folders action.
src/vs/sessions/contrib/copilotChatSessions/browser/copilotChatSessionsProvider.ts Adds browse action descriptions (e.g. “Local”, “GitHub”) and groups folder actions.
src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.ts Implements flat recency list and grouped browse actions with submenu support.
src/vs/sessions/contrib/agentHost/browser/localAgentHostSessionsProvider.ts Adds browse action description/group metadata for local agent host folders action.
src/vs/platform/actionWidget/browser/actionWidget.css Fixes inline-description group-title alignment by pushing it to the right.
src/vs/platform/actionWidget/browser/actionList.ts Adds submenu icon support and removes fixedWidth sizing option.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 2

Comment thread src/vs/sessions/services/sessions/common/session.ts
Comment on lines +433 to 437
label: localize('workspacePicker.browseSelectAction', "Select {0}...", label),
group: { title: '', icon },
item: {},
submenuActions: [new SubmenuAction(`workspacePicker.browse.group.${label}`, '', submenuActions)],
});
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

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

The SubmenuAction id is built from label (a localized UI string): workspacePicker.browse.group.${label}. Action ids should be stable and non-localized; using localized text can cause id changes across locales and potential collisions. Use the non-localized group key (e.g. the Map key from browseByGroup) or another stable identifier instead.

Copilot uses AI. Check for mistakes.
@sandy081 sandy081 merged commit d839048 into main Apr 23, 2026
26 checks passed
@sandy081 sandy081 deleted the sandy081/workspace-picker-improvements branch April 23, 2026 22:49
@vs-code-engineering vs-code-engineering Bot added this to the 1.118.0 milestone Apr 23, 2026
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