Always derive from process.env
when spawning a child process/shell execution
This is useful when an extension (e.g. Nix Environment Selector) or launch configuration sets one or more environment variables. When `env` is not explicitly specified in the options passed to `child_process.spawn()` or `vscode.ShellExecution()`, then `process.env` gets applied automatically. But when an explicit `env` is set, it should inherit from `process.env` rather than replace it completely.
This commit is contained in:
parent
09df51dab8
commit
771457ec5c
@ -177,7 +177,7 @@ export function createTask(spec: ra.Runnable): vscode.Task {
|
|||||||
label: spec.label,
|
label: spec.label,
|
||||||
command: spec.bin,
|
command: spec.bin,
|
||||||
args: spec.extraArgs ? [...spec.args, '--', ...spec.extraArgs] : spec.args,
|
args: spec.extraArgs ? [...spec.args, '--', ...spec.extraArgs] : spec.args,
|
||||||
env: spec.env,
|
env: Object.assign({}, process.env, spec.env),
|
||||||
};
|
};
|
||||||
|
|
||||||
const execOption: vscode.ShellExecutionOptions = {
|
const execOption: vscode.ShellExecutionOptions = {
|
||||||
|
Loading…
Reference in New Issue
Block a user