macOS: show recent workspaces (incl. remote-SSH) in the dock menu, for parity with Windows JumpList
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
### 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 documents** — `updateMacOSRecentDocuments()` 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 menu** — `src/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.
Contributor guide
Assessment
This issue has not been assessed yet.