diff --git a/src/vs/platform/remote/common/remoteAuthorityResolver.ts b/src/vs/platform/remote/common/remoteAuthorityResolver.ts index 898b8d8aba9..e9ba56563b3 100644 --- a/src/vs/platform/remote/common/remoteAuthorityResolver.ts +++ b/src/vs/platform/remote/common/remoteAuthorityResolver.ts @@ -14,7 +14,7 @@ export interface ResolvedAuthority { } export interface ResolvedOptions { - readonly remoteEnv?: { [key: string]: string | null }; + readonly extensionHostEnv?: { [key: string]: string | null }; } export interface ResolverResult { diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 86733058b0e..5bca4d0d507 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -95,13 +95,10 @@ declare module 'vscode' { } export interface ResolvedOptions { - remoteEnv?: { [key: string]: string | null }; + extensionHostEnv?: { [key: string]: string | null }; } - export interface ResolverResult { - authority: ResolvedAuthority; - options?: ResolvedOptions; - } + export type ResolverResult = ResolvedAuthority & ResolvedOptions; export class RemoteAuthorityResolverError extends Error { static NotAvailable(message?: string, handled?: boolean): RemoteAuthorityResolverError; diff --git a/src/vs/workbench/api/node/extHostExtensionService.ts b/src/vs/workbench/api/node/extHostExtensionService.ts index 868b40e6867..781cb8998ab 100644 --- a/src/vs/workbench/api/node/extHostExtensionService.ts +++ b/src/vs/workbench/api/node/extHostExtensionService.ts @@ -33,6 +33,7 @@ import { ExtensionMemento } from 'vs/workbench/api/common/extHostMemento'; import { ExtensionStoragePaths } from 'vs/workbench/api/node/extHostStoragePaths'; import { RemoteAuthorityResolverError, ExtensionExecutionContext } from 'vs/workbench/api/common/extHostTypes'; import { IURITransformer } from 'vs/base/common/uriIpc'; +import { ResolvedAuthority, ResolvedOptions } from 'vs/platform/remote/common/remoteAuthorityResolver'; interface ITestRunner { /** Old test runner API, as exported from `vscode/lib/testrunner` */ @@ -663,23 +664,21 @@ export class ExtHostExtensionService implements ExtHostExtensionServiceShape { try { const result = await resolver.resolve(remoteAuthority, { resolveAttempt }); - // Support the old resolver interface, TODO remove after awhile - const authority = typeof (result).host === 'string' ? - { - authority: remoteAuthority, - host: (result).host, - port: (result).port - } : - { - authority: remoteAuthority, - host: result.authority.host, - port: result.authority.port - }; + // Split merged API result into separate authority/options + const authority: ResolvedAuthority = { + authority: remoteAuthority, + host: result.host, + port: result.port + }; + const options: ResolvedOptions = { + extensionHostEnv: result.extensionHostEnv + }; + return { type: 'ok', value: { authority, - options: result.options + options } }; } catch (err) { diff --git a/src/vs/workbench/services/extensions/common/remoteExtensionHostClient.ts b/src/vs/workbench/services/extensions/common/remoteExtensionHostClient.ts index 376e0951184..0860739eb21 100644 --- a/src/vs/workbench/services/extensions/common/remoteExtensionHostClient.ts +++ b/src/vs/workbench/services/extensions/common/remoteExtensionHostClient.ts @@ -89,7 +89,7 @@ export class RemoteExtensionHostClient extends Disposable implements IExtensionH debugId: this._environmentService.debugExtensionHost.debugId, break: this._environmentService.debugExtensionHost.break, port: this._environmentService.debugExtensionHost.port, - env: resolverResult.options && resolverResult.options.remoteEnv + env: resolverResult.options && resolverResult.options.extensionHostEnv }; const extDevLocs = this._environmentService.extensionDevelopmentLocationURI;