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.
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:
updateMacOSRecentDocuments()insrc/vs/platform/workspaces/electron-main/workspacesHistoryMainService.tsfilters tofile://only (if (loc.scheme === Schemas.file), ~L470), sovscode-remote://ssh-remote+...entries are dropped before reachingapp.addRecentDocument. This is also a macOS API constraint —NSDocumentControlleronly retains local file URLs here, so the filter is correct and should stay.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) iteratesgetRecentlyOpened().workspaceswith 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.