Microsoft/vscode

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

Open

#160.765 aberto em 13 de set. de 2022

Ver no GitHub
 (9 comments) (0 reactions) (1 assignee)TypeScript (10.221 forks)batch import
bughelp wantedscm

Métricas do repositório

Stars
 (74.848 stars)
Métricas de merge de PR
 (Mesclagem média 11h 43m) (1.000 fundiu PRs em 30d)

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.

Guia do colaborador