Skip to content

macOS: show recent workspaces (incl. remote-SSH) in the dock menu, for parity with Windows JumpList #324487

Description

@adaex

Context

Right-clicking the VSCode dock icon on macOS shows only a single "New Window" entry plus the macOS-generated "Recent Documents" list. Remote-SSH (and other remote — WSL, Dev Containers, Codespaces, Tunnels) workspaces never appear in either.

Problem

Two code paths keep remote workspaces out of the macOS dock:

  • macOS recent documentsupdateMacOSRecentDocuments() in src/vs/platform/workspaces/electron-main/workspacesHistoryMainService.ts filters to file:// only (if (loc.scheme === Schemas.file), ~L470), so vscode-remote://ssh-remote+... entries are dropped before reaching app.addRecentDocument. This is also a macOS API constraint — NSDocumentController only retains local file URLs here, so the filter is correct and should stay.
  • App dock menusrc/vs/platform/menubar/electron-main/menubar.ts (~L294-297) hardcodes the dock menu to a single "New Window" item.

On Windows there is no such gap: updateWindowsJumpList() (~L377, same file) iterates getRecentlyOpened().workspaces with no scheme filter and emits --folder-uri "vscode-remote://..." entries, so remote hosts are one click away in the taskbar JumpList.

Suggestion

Populate the macOS dock menu (app.dock.setMenu) with recent workspaces — including remote — to match the Windows JumpList. Clicking a remote entry would open the window with the remote folder URI, the same way the in-app "Open Recent" list and the Command Palette already handle remote entries today.

The in-app paths (Remote Explorer, Remote-SSH: Connect to Host..., ~/.ssh/config) all work, but none are reachable from the dock — which is the whole point of the parity gap with Windows.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions