diff --git a/src/vs/server/node/extensionHostConnection.ts b/src/vs/server/node/extensionHostConnection.ts index f749747f72e..5c717b4f226 100644 --- a/src/vs/server/node/extensionHostConnection.ts +++ b/src/vs/server/node/extensionHostConnection.ts @@ -201,9 +201,7 @@ export class ExtensionHostConnection { // Run Extension Host as fork of current process const args = ['--type=extensionHost', `--transformURIs`]; const useHostProxy = this._environmentService.args['use-host-proxy']; - if (useHostProxy) { - args.push(`--useHostProxy`); - } + args.push(`--useHostProxy=${useHostProxy ? 'true' : 'false'}`); this._extensionHostProcess = cp.fork(FileAccess.asFileUri('bootstrap-fork', require).fsPath, args, opts); const pid = this._extensionHostProcess.pid; this._log(`<${pid}> Launched Extension Host Process.`); diff --git a/src/vs/workbench/api/node/extensionHostProcess.ts b/src/vs/workbench/api/node/extensionHostProcess.ts index 38bd6ce705d..2707ecf73d3 100644 --- a/src/vs/workbench/api/node/extensionHostProcess.ts +++ b/src/vs/workbench/api/node/extensionHostProcess.ts @@ -30,7 +30,7 @@ import 'vs/workbench/api/node/extHost.node.services'; interface ParsedExtHostArgs { transformURIs?: boolean; skipWorkspaceStorageLock?: boolean; - useHostProxy?: boolean; + useHostProxy?: 'true' | 'false'; // use a string, as undefined is also a valid value } // workaround for https://github.com/microsoft/vscode/issues/85490 @@ -47,8 +47,10 @@ interface ParsedExtHostArgs { const args = minimist(process.argv.slice(2), { boolean: [ 'transformURIs', - 'skipWorkspaceStorageLock', - 'useHostProxy' + 'skipWorkspaceStorageLock' + ], + string: [ + 'useHostProxy' // 'true' | 'false' | undefined ] }) as ParsedExtHostArgs; @@ -334,7 +336,7 @@ export async function startExtensionHostProcess(): Promise { const { initData } = renderer; // setup things patchProcess(!!initData.environment.extensionTestsLocationURI); // to support other test frameworks like Jasmin that use process.exit (https://github.com/microsoft/vscode/issues/37708) - initData.environment.useHostProxy = !!args.useHostProxy; + initData.environment.useHostProxy = args.useHostProxy !== undefined ? args.useHostProxy !== 'false' : undefined; initData.environment.skipWorkspaceStorageLock = boolean(args.skipWorkspaceStorageLock, false); // host abstraction