diff --git a/client/package.json b/client/package.json index dd8676d..6aee54d 100644 --- a/client/package.json +++ b/client/package.json @@ -304,6 +304,14 @@ "items": { "type": "string" } + }, + "env": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%%harbour.launch.env%", + "default": {} }, "stopOnEntry": { "type": "boolean", diff --git a/client/package.nls.es.json b/client/package.nls.es.json index ab2f4c0..337d8a4 100644 --- a/client/package.nls.es.json +++ b/client/package.nls.es.json @@ -16,6 +16,7 @@ "harbour.launch.workspaceRoot": "el atributo 'workspaceRoot' está en desuso, use 'sourcePaths'", "harbour.launch.program": "Ruta absoluta del ejecutable", "harbour.launch.workingDir": "Directorio de trabajo", + "harbour.launch.env": "Variables de entorno pasadas al programa.", "harbour.launch.arguments": "Argumentos a pasars al ejecutable", "harbour.launch.stopOnEntry": "Detener automáticamente después de comenzar", "harbour.launch.sourcePaths": "Rutas para buscar código fuente", diff --git a/client/package.nls.it.json b/client/package.nls.it.json index a74c19c..459a251 100644 --- a/client/package.nls.it.json +++ b/client/package.nls.it.json @@ -16,6 +16,7 @@ "harbour.launch.workspaceRoot": "l'attributo 'workspaceRoot' è in disuso, usa 'sourcePaths'", "harbour.launch.program": "Percorso assoluto dell'eseguibile", "harbour.launch.workingDir": "Directory di lavoro", + "harbour.launch.env": "Variabili di ambiente passate al programma.", "harbour.launch.arguments": "Argomenti da passare all'eseguibile", "harbour.launch.stopOnEntry": "Fermati automaticamente dopo l'avvio", "harbour.launch.sourcePaths": "Percorsi dove cercare i sorgenti", diff --git a/client/package.nls.json b/client/package.nls.json index 8ec6887..056e554 100644 --- a/client/package.nls.json +++ b/client/package.nls.json @@ -16,6 +16,7 @@ "harbour.launch.workspaceRoot": "Attribute 'workspaceRoot' is deprecated, use 'sourcePaths' instead", "harbour.launch.program": "Absolute path of executable", "harbour.launch.workingDir": "Working directory", + "harbour.launch.env": "Environment variables passed to the program.", "harbour.launch.arguments": "Arguments to pass to executable", "harbour.launch.stopOnEntry": "Automatically stop after launch", "harbour.launch.sourcePaths": "Directories where search for source files", diff --git a/client/src/debugger.js b/client/src/debugger.js index e8e4fd4..141e918 100644 --- a/client/src/debugger.js +++ b/client/src/debugger.js @@ -199,6 +199,7 @@ class harbourDebugSession extends debugadapter.DebugSession { this.runInTerminalRequest({ "kind": args.terminalType, "cwd": args.workingDir, + "env": args.env, "args": [args.program].concat(args.arguments ? args.arguments : []) }, undefined, runResp =>{ if(runResp && runResp.body && runResp.body.processId) { @@ -210,9 +211,9 @@ class harbourDebugSession extends debugadapter.DebugSession { default: var process; if (args.arguments) - process = cp.spawn(args.program, args.arguments, { cwd: args.workingDir }); + process = cp.spawn(args.program, args.arguments, { cwd: args.workingDir, env: args.env }); else - process = cp.spawn(args.program, { cwd: args.workingDir }); + process = cp.spawn(args.program, { cwd: args.workingDir, env: args.env }); process.on("error", e => { tc.sendEvent(new debugadapter.OutputEvent(localize("harbour.dbgError1", args.program, args.workingDir), "stderr")) tc.sendEvent(new debugadapter.TerminatedEvent());