diff --git a/src/vs/platform/remote/common/remoteAuthorityResolver.ts b/src/vs/platform/remote/common/remoteAuthorityResolver.ts index 2f1d402048479fd35fc500c3e5d873eb6ee7149b..4e770b08026dc544356e52674ae2eb0b6cd120de 100644 --- a/src/vs/platform/remote/common/remoteAuthorityResolver.ts +++ b/src/vs/platform/remote/common/remoteAuthorityResolver.ts @@ -17,8 +17,12 @@ export interface ResolvedOptions { readonly extensionHostEnv?: { [key: string]: string | null }; } +export interface TunnelDescription { + remoteAddress: { port: number, host: string }; + localAddress: string; +} export interface TunnelInformation { - environmentTunnels?: { remoteAddress: { port: number, host: string }, localAddress: string }[]; + environmentTunnels?: TunnelDescription[]; hideCandidatePorts?: boolean; } diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 141ed91c941931753168ab3b3765af57d5fb6a5a..4ceee1bcfe4f17765fd4e33e13ca98a03d3533ed 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -40,10 +40,13 @@ declare module 'vscode' { label?: string; } - export interface Tunnel { + export interface TunnelDescription { remoteAddress: { port: number, host: string }; //The complete local address(ex. localhost:1234) localAddress: string; + } + + export interface Tunnel extends TunnelDescription { // Implementers of Tunnel should fire onDidDispose when dispose is called. onDidDispose: Event; dispose(): void; @@ -58,7 +61,7 @@ declare module 'vscode' { * The localAddress should be the complete local address (ex. localhost:1234) for connecting to the port. Tunnels provided through * detected are read-only from the forwarded ports UI. */ - environmentTunnels?: { remoteAddress: { port: number, host: string }, localAddress: string }[]; + environmentTunnels?: TunnelDescription[]; hideCandidatePorts?: boolean; } diff --git a/src/vs/workbench/services/remote/common/remoteExplorerService.ts b/src/vs/workbench/services/remote/common/remoteExplorerService.ts index 8a94eeccd97b4d3af14eb5b62d3124f2b072e652..44b8f8815bd4babdc074ba360a82a43eecd2c0ca 100644 --- a/src/vs/workbench/services/remote/common/remoteExplorerService.ts +++ b/src/vs/workbench/services/remote/common/remoteExplorerService.ts @@ -11,7 +11,7 @@ import { ITunnelService, RemoteTunnel } from 'vs/platform/remote/common/tunnel'; import { Disposable } from 'vs/base/common/lifecycle'; import { IEditableData } from 'vs/workbench/common/views'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { TunnelInformation } from 'vs/platform/remote/common/remoteAuthorityResolver'; +import { TunnelInformation, TunnelDescription } from 'vs/platform/remote/common/remoteAuthorityResolver'; export const IRemoteExplorerService = createDecorator('remoteExplorerService'); export const REMOTE_EXPLORER_TYPE_KEY: string = 'remote.explorerType'; @@ -172,7 +172,7 @@ export class TunnelModel extends Disposable { return (this.forwarded.get(key) || this.detected.get(key))?.localAddress; } - addEnvironmentTunnels(tunnels: { remoteAddress: { port: number, host: string }, localAddress: string }[]): void { + addEnvironmentTunnels(tunnels: TunnelDescription[]): void { tunnels.forEach(tunnel => { this.detected.set(MakeAddress(tunnel.remoteAddress.host, tunnel.remoteAddress.port), { remoteHost: tunnel.remoteAddress.host,