Пропустить аргументы оболочки терминала VS Code для launch.json

В настройках моей рабочей области у меня есть

{
  "terminal.integrated.shellArgs.linux": [
    "-c",
    "yarn custom_shell"
  ],
}

который запускает пользовательскую оболочку, которая запрашивает ввод данных пользователем при запуске.

Когда я создаю конфигурацию launch.json, которая запускается с помощью встроенного терминала, моя команда yarn custom_shell будет выполняться и ждать ввода, в результате чего команда запуска, предоставленная VS Code, не будет выполняться. Эта же проблема возникает для расширений, которые запускают программу в моем встроенном терминале.

Есть ли способ запустить встроенный терминал с помощью terminal.integrated.shellArgs только, когда это интерактивная пользовательская оболочка, а не оболочка, запускаемая расширением или launch.json конфигурацией?


person sabrehagen    schedule 05.12.2018    source источник


Ответы (1)


Я думаю, что хорошим решением будет сохранить встроенную оболочку в соответствии с ожиданиями и использовать расширение shell-launcher для взлома различных оболочек в vscode (это также может избавить вас от необходимости ждать ввода данных пользователем в вашей пользовательской оболочке):

  "shellLauncher.shells.linux": [
      {
          "shell": "bash",
          "args": ["-c yarn custom_shell"],
          "label": "my_custom_yarn_shell"
      }
  ]
person idanp    schedule 05.12.2018
comment
Это хорошее решение для этого случая. Я подожду, чтобы увидеть, опубликовано ли собственное решение, прежде чем принять ваш ответ. - person sabrehagen; 06.12.2018