From 3f6901d47870dcd7fd2655abc8c46e26cf97d2ef Mon Sep 17 00:00:00 2001 From: Andre Weinand Date: Wed, 14 Nov 2018 10:57:14 +0100 Subject: [PATCH] correct fix for #63028 --- src/vs/workbench/api/node/extHostDebugService.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/api/node/extHostDebugService.ts b/src/vs/workbench/api/node/extHostDebugService.ts index 644fcc6cdd6..25fc3a53d4f 100644 --- a/src/vs/workbench/api/node/extHostDebugService.ts +++ b/src/vs/workbench/api/node/extHostDebugService.ts @@ -625,8 +625,6 @@ export class ExtHostDebugService implements ExtHostDebugServiceShape { type: 'implementation', implementation: x.implementation }; - } else if (typeof (x).type === 'string') { - return x; } else { throw new Error('unexpected type'); } @@ -718,8 +716,7 @@ export class ExtHostDebugService implements ExtHostDebugServiceShape { } if (adapterProvider) { - const adapterExecutable = ExecutableDebugAdapter.platformAdapterExecutable(this._extensionService.getAllExtensionDescriptions(), session.type); - return asThenable(() => adapterProvider.provideDebugAdapter(session, adapterExecutable, CancellationToken.None)); + return asThenable(() => adapterProvider.provideDebugAdapter(session, this.daExecutableFromPackage(session), CancellationToken.None)); } // try deprecated command based extension API "adapterExecutableCommand" to determine the executable @@ -734,7 +731,12 @@ export class ExtHostDebugService implements ExtHostDebugServiceShape { } // fallback: use executable information from package.json - return Promise.resolve(ExecutableDebugAdapter.platformAdapterExecutable(this._extensionService.getAllExtensionDescriptions(), session.type)); + return Promise.resolve(this.daExecutableFromPackage(session)); + } + + private daExecutableFromPackage(session: ExtHostDebugSession): DebugAdapterExecutable { + const dae = ExecutableDebugAdapter.platformAdapterExecutable(this._extensionService.getAllExtensionDescriptions(), session.type); + return new DebugAdapterExecutable(dae.command, dae.args, dae.env, dae.cwd); } private startBreakpoints() {