diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json index 07e71c1daaf8f..c705e53d1fa30 100644 --- a/extensions/vscode-api-tests/package.json +++ b/extensions/vscode-api-tests/package.json @@ -34,6 +34,7 @@ "taskPresentationGroup", "terminalDataWriteEvent", "terminalDimensions", + "tunnels", "envShellEvent", "testCoverage", "testObserver", diff --git a/extensions/vscode-test-resolver/package.json b/extensions/vscode-test-resolver/package.json index da90e7e3809b5..167275aa275ff 100644 --- a/extensions/vscode-test-resolver/package.json +++ b/extensions/vscode-test-resolver/package.json @@ -6,7 +6,8 @@ "license": "MIT", "enableProposedApi": true, "enabledApiProposals": [ - "resolvers" + "resolvers", + "tunnels" ], "private": true, "engines": { diff --git a/extensions/vscode-test-resolver/tsconfig.json b/extensions/vscode-test-resolver/tsconfig.json index f9a183ef9e10b..4a8025df9b5cf 100644 --- a/extensions/vscode-test-resolver/tsconfig.json +++ b/extensions/vscode-test-resolver/tsconfig.json @@ -9,6 +9,7 @@ "include": [ "src/**/*", "../../src/vscode-dts/vscode.d.ts", + "../../src/vscode-dts/vscode.proposed.tunnels.d.ts", "../../src/vscode-dts/vscode.proposed.resolvers.d.ts" ] } diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts index 8e0c6af5fbd81..f03c90350d703 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts @@ -1010,7 +1010,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I return extHostFileSystemEvent.getOnWillRenameFileEvent(extension)(listener, thisArg, disposables); }, openTunnel: (forward: vscode.TunnelOptions) => { - checkProposedApiEnabled(extension, 'resolvers'); + checkProposedApiEnabled(extension, 'tunnels'); return extHostTunnelService.openTunnel(extension, forward).then(value => { if (!value) { throw new Error('cannot open tunnel'); @@ -1019,11 +1019,11 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I }); }, get tunnels() { - checkProposedApiEnabled(extension, 'resolvers'); + checkProposedApiEnabled(extension, 'tunnels'); return extHostTunnelService.getTunnels(); }, onDidChangeTunnels: (listener, thisArg?, disposables?) => { - checkProposedApiEnabled(extension, 'resolvers'); + checkProposedApiEnabled(extension, 'tunnels'); return extHostTunnelService.onDidChangeTunnels(listener, thisArg, disposables); }, registerPortAttributesProvider: (portSelector: { pid?: number; portRange?: [number, number]; commandMatcher?: RegExp }, provider: vscode.PortAttributesProvider) => { diff --git a/src/vscode-dts/vscode.proposed.resolvers.d.ts b/src/vscode-dts/vscode.proposed.resolvers.d.ts index 292b5a5fb2390..c1c413bc31f23 100644 --- a/src/vscode-dts/vscode.proposed.resolvers.d.ts +++ b/src/vscode-dts/vscode.proposed.resolvers.d.ts @@ -43,7 +43,7 @@ declare module 'vscode' { label: string; } - export interface TunnelOptions { + interface TunnelOptions { remoteAddress: { port: number; host: string }; // The desired local port. If this port can't be used, then another will be chosen. localAddressPort?: number; @@ -56,7 +56,7 @@ declare module 'vscode' { protocol?: string; } - export interface TunnelDescription { + interface TunnelDescription { remoteAddress: { port: number; host: string }; //The complete local address(ex. localhost:1234) localAddress: { port: number; host: string } | string; @@ -69,7 +69,7 @@ declare module 'vscode' { protocol?: string; } - export interface Tunnel extends TunnelDescription { + interface Tunnel extends TunnelDescription { // Implementers of Tunnel should fire onDidDispose when dispose is called. onDidDispose: Event; dispose(): void | Thenable; @@ -164,29 +164,6 @@ declare module 'vscode' { candidatePortSource?: CandidatePortSource; } - export namespace workspace { - /** - * Forwards a port. If the current resolver implements RemoteAuthorityResolver:forwardPort then that will be used to make the tunnel. - * By default, openTunnel only support localhost; however, RemoteAuthorityResolver:tunnelFactory can be used to support other ips. - * - * @throws When run in an environment without a remote. - * - * @param tunnelOptions The `localPort` is a suggestion only. If that port is not available another will be chosen. - */ - export function openTunnel(tunnelOptions: TunnelOptions): Thenable; - - /** - * Gets an array of the currently available tunnels. This does not include environment tunnels, only tunnels that have been created by the user. - * Note that these are of type TunnelDescription and cannot be disposed. - */ - // export let tunnels: Thenable; - - /** - * Fired when the list of tunnels has changed. - */ - export const onDidChangeTunnels: Event; - } - export interface ResourceLabelFormatter { scheme: string; authority?: string; diff --git a/src/vscode-dts/vscode.proposed.tunnels.d.ts b/src/vscode-dts/vscode.proposed.tunnels.d.ts index 4ff7a18f0375b..1f83bbbeb909d 100644 --- a/src/vscode-dts/vscode.proposed.tunnels.d.ts +++ b/src/vscode-dts/vscode.proposed.tunnels.d.ts @@ -12,6 +12,10 @@ declare module 'vscode' { // The desired local port. If this port can't be used, then another will be chosen. localAddressPort?: number; label?: string; + /** + * @deprecated Use privacy instead + */ + public?: boolean; privacy?: string; protocol?: string; } @@ -20,6 +24,10 @@ declare module 'vscode' { remoteAddress: { port: number; host: string }; //The complete local address(ex. localhost:1234) localAddress: { port: number; host: string } | string; + /** + * @deprecated Use privacy instead + */ + public?: boolean; privacy?: string; // If protocol is not provided it is assumed to be http, regardless of the localAddress. protocol?: string; @@ -51,6 +59,6 @@ declare module 'vscode' { /** * Fired when the list of tunnels has changed. */ - // export const onDidChangeTunnels: Event; + export const onDidChangeTunnels: Event; } }