diff --git a/src/vs/workbench/parts/debug/common/debug.ts b/src/vs/workbench/parts/debug/common/debug.ts index 230152fa5a6..6088f539221 100644 --- a/src/vs/workbench/parts/debug/common/debug.ts +++ b/src/vs/workbench/parts/debug/common/debug.ts @@ -229,6 +229,7 @@ export interface IRawAdapter extends IRawEnvAdapter { enableBreakpointsFor?: { languageIds: string[] }; configurationAttributes?: any; initialConfigurations?: any[]; + variables: { [key: string]: string }; aiKey?: string; win?: IRawEnvAdapter; winx86?: IRawEnvAdapter; diff --git a/src/vs/workbench/parts/debug/node/debugAdapter.ts b/src/vs/workbench/parts/debug/node/debugAdapter.ts index 7d159bb8096..3cd24f2909c 100644 --- a/src/vs/workbench/parts/debug/node/debugAdapter.ts +++ b/src/vs/workbench/parts/debug/node/debugAdapter.ts @@ -20,6 +20,7 @@ export class Adapter { private _label: string; private configurationAttributes: any; public initialConfigurations: any[]; + public variables: { [key: string]: string }; public enableBreakpointsFor: { languageIds: string[] }; public aiKey: string; @@ -65,6 +66,7 @@ export class Adapter { } this.type = rawAdapter.type; + this.variables = rawAdapter.variables; this.configurationAttributes = rawAdapter.configurationAttributes; this.initialConfigurations = rawAdapter.initialConfigurations; this._label = rawAdapter.label; diff --git a/src/vs/workbench/parts/debug/node/debugConfigurationManager.ts b/src/vs/workbench/parts/debug/node/debugConfigurationManager.ts index d312865a370..4df8b1b2fd1 100644 --- a/src/vs/workbench/parts/debug/node/debugConfigurationManager.ts +++ b/src/vs/workbench/parts/debug/node/debugConfigurationManager.ts @@ -74,6 +74,10 @@ export var debuggersExtPoint = extensionsRegistry.ExtensionsRegistry.registerExt description: nls.localize('vscode.extension.contributes.debuggers.runtimeArgs', "Optional runtime arguments."), type: 'array' }, + variables : { + description: nls.localize('vscode.extension.contributes.debuggers.variables', "Mapping from interactive variables (e.g ${action.pickProcess}) in `launch.json` to a command."), + type: 'object' + }, initialConfigurations: { description: nls.localize('vscode.extension.contributes.debuggers.initialConfigurations', "Configurations for generating the initial \'launch.json\'."), type: 'array', diff --git a/src/vs/workbench/parts/debug/test/node/debugAdapter.test.ts b/src/vs/workbench/parts/debug/test/node/debugAdapter.test.ts index 19a04396fe2..ddbbf0c60c6 100644 --- a/src/vs/workbench/parts/debug/test/node/debugAdapter.test.ts +++ b/src/vs/workbench/parts/debug/test/node/debugAdapter.test.ts @@ -37,7 +37,7 @@ suite('Debug - Adapter', () => { } } }, - + variables: null, initialConfigurations: [ { name: 'Mock-Debug',