diff --git a/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostActions.ts b/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostActions.ts index 931ec5f2cdbae..c1ae189ab4728 100644 --- a/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostActions.ts +++ b/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostActions.ts @@ -841,6 +841,10 @@ interface ITunnelPickItem extends IQuickPickItem { readonly tunnel: ITunnelInfo; } +function sortTunnelsByName(tunnels: readonly ITunnelInfo[]): ITunnelInfo[] { + return [...tunnels].sort((a, b) => a.name.localeCompare(b.name)); +} + async function promptToConnectViaTunnel( accessor: ServicesAccessor, options: { showBackButton?: boolean } = {}, @@ -901,7 +905,7 @@ async function promptToConnectViaTunnel( tooltip: localize('tunnelDeleteTooltip', "Delete Dev Tunnel"), }; const isHostedTunnel = (tunnel: ITunnelInfo): boolean => isTunnelHosted(tunnelHostService.sharingInfo, tunnel); - const toTunnelPickItems = (tunnelInfos: readonly ITunnelInfo[]): ITunnelPickItem[] => tunnelInfos + const toTunnelPickItems = (tunnelInfos: readonly ITunnelInfo[]): ITunnelPickItem[] => sortTunnelsByName(tunnelInfos) .filter(tunnel => !isHostedTunnel(tunnel)) .map(tunnel => ({ label: tunnel.name,