Microsoft/vscode

SCM - Shell integration ignores env overrides when opening from SCM panel?

Open

#160,765 opened on Sep 13, 2022

View on GitHub
 (9 comments) (0 reactions) (1 assignee)TypeScript (74,848 stars) (10,221 forks)batch import
bughelp wantedscm

Description

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.70.2
  • OS Version: Windows 10 21H1

Initial conditions

Set up a custom profile (globally):

    "terminal.integrated.profiles.windows": {
        "cmd14": {
            "path": "cmd",
            "overrideName": false,
            "env": {
                "PATH": "path\\to\\nodejs14npm7;${env:PATH}"
            }
        }
    },

Make this profile default (in workspace):

    "terminal.integrated.defaultProfile.windows": "cmd14",

Correct behavior

  1. Disable shell integration
  2. Open a terminal using Ctrl+~, execute node – it is found and executed
  3. Open a terminal from the context menu on a repository in the SCM panel, execute node – it is found and executed

Incorrect behavior

  1. Enable shell integration
  2. Open a terminal using Ctrl+~, execute node – it is found and executed
  3. Open a terminal from the context menu on a repository in the SCM panel, execute node – it is not found

In both cases here, Code reports that shell integration failed to activate. When printing PATH, I can see that the first terminal has it augmented, while the second one doesn't.

Contributor guide