diff --git a/src/vs/workbench/parts/debug/common/debug.ts b/src/vs/workbench/parts/debug/common/debug.ts index 8142048b518f99776c4aabf217c1fcab3f5f6d1e..fa9bcd3d7c77bc4fc1c74e76b64a5971eab83d2a 100644 --- a/src/vs/workbench/parts/debug/common/debug.ts +++ b/src/vs/workbench/parts/debug/common/debug.ts @@ -192,6 +192,7 @@ export interface IRawAdapter extends IRawEnvAdapter { configurationAttributes?: any; initialConfigurations?: any[]; win?: IRawEnvAdapter; + winx86?: IRawEnvAdapter; windows?: IRawEnvAdapter; osx?: IRawEnvAdapter; linux?: IRawEnvAdapter; diff --git a/src/vs/workbench/parts/debug/node/debugAdapter.ts b/src/vs/workbench/parts/debug/node/debugAdapter.ts index 90a7ed01b91abaf57df1a0cdde00e5bcda892001..69f0e6c33d08ead65699f32784354427d858f7f0 100644 --- a/src/vs/workbench/parts/debug/node/debugAdapter.ts +++ b/src/vs/workbench/parts/debug/node/debugAdapter.ts @@ -25,19 +25,23 @@ export class Adapter { if (rawAdapter.windows) { rawAdapter.win = rawAdapter.windows; } - if (platform.isWindows && rawAdapter.win) { + + if (platform.isWindows && !process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432') && rawAdapter.winx86) { + this.runtime = rawAdapter.winx86.runtime; + this.runtimeArgs = rawAdapter.winx86.runtimeArgs; + this.program = rawAdapter.winx86.program; + this.args = rawAdapter.winx86.args; + } else if (platform.isWindows && rawAdapter.win) { this.runtime = rawAdapter.win.runtime; this.runtimeArgs = rawAdapter.win.runtimeArgs; this.program = rawAdapter.win.program; this.args = rawAdapter.win.args; - } - if (platform.isMacintosh && rawAdapter.osx) { + } else if (platform.isMacintosh && rawAdapter.osx) { this.runtime = rawAdapter.osx.runtime; this.runtimeArgs = rawAdapter.osx.runtimeArgs; this.program = rawAdapter.osx.program; this.args = rawAdapter.osx.args; - } - if (platform.isLinux && rawAdapter.linux) { + } else if (platform.isLinux && rawAdapter.linux) { this.runtime = rawAdapter.linux.runtime; this.runtimeArgs = rawAdapter.linux.runtimeArgs; this.program = rawAdapter.linux.program;