feat(remote-dev): forward ports of the remote host (#1131)

Remote windows get a Ports tool window: forward localhost:<port> of the remote host to this machine (same port when free here), with Open in Browser / Copy / Stop. Forwarded ports are remembered per host and folder and forwarded again on reconnect. Tunnels reuse the window's SSH session (ide_ssh::Tunnel can prefer a local port) and close with the connection.

Closes #819
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-11-04 08:50:25 +08:00
1 джерело a3bbbf90a4
коміт 53b8cdeb51
11 files changed
+469 -7

No files matched your search

+57
Переглянути файл
@@ -0,0 +1,57 @@
.view {
height: 100%;
min-height: 0;
display: flex;
flex-direction: column;
}
.add {
flex: none;
display: flex;
align-items: center;
gap: 6px;
padding: 6px 8px;
border-bottom: 1px solid var(--border);
}
.input {
width: 200px;
}
.list {
flex: 1;
min-height: 0;
overflow: auto;
margin: 0;
padding: 4px 0;
list-style: none;
}
.row {
display: flex;
align-items: center;
gap: 8px;
height: 26px;
padding: 0 8px 0 12px;
}
.row:hover {
background: var(--bg-hover);
}
.remote {
min-width: 48px;
font-family: var(--font-mono);
color: var(--fg-strong);
}
.arrow {
color: var(--fg-faint);
}
.local {
font-family: var(--font-mono);
color: var(--fg-muted);
}
.actions {
margin-left: auto;
display: flex;
gap: 2px;
opacity: 0;
}
.row:hover .actions,
.row:focus-within .actions {
opacity: 1;
}