diff --git a/src/vs/vscode.d.ts b/src/vs/vscode.d.ts index a2df3e091fe3be940da13a35d659c989c83e62a2..dcf0d7b8852a875ba894fdae4f671991f8f4fa02 100644 --- a/src/vs/vscode.d.ts +++ b/src/vs/vscode.d.ts @@ -4855,7 +4855,7 @@ declare module 'vscode' { /** * Object with environment variables that will be added to the VS Code process. */ - env?: { [key: string]: string }; + env?: { [key: string]: string | null }; } /** diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts index 8c365585b2f503ffba85f9120ba7732cf5ae7704..7916f16cc4015e95c28cabb4f9dfb1c854f9fc6d 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts @@ -778,7 +778,12 @@ export class TerminalInstance implements ITerminalInstance { const env = TerminalInstance._cloneEnv(parentEnv); if (shell.env) { Object.keys(shell.env).forEach((key) => { - env[key] = shell.env[key]; + const value = shell.env[key]; + if (typeof value === 'string') { + env[key] = value; + } else { + delete env[key]; + } }); }