Как настроить оболочку VS Code как командную строку разработчика? - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь настроить задачу для компиляции моего кода C ++ в Visual Studio Code. Я не могу заставить его работать ... но выпадающая команда прекрасно работает, когда я просто открываю командную строку разработчика и вставляю ее.

Мне удалось сузить эту проблему до в оболочке, которую использует VS Code, не заданы правильные переменные среды (о чем свидетельствует запуск echo %INCLUDE%, просто возвращающий %INCLUDE%).

Теперь я точно не знаю, чем командная строка разработчика отличается от обычный терминал Powershell, используемый VS Code, поэтому я не знаю точно, как его настроить (кроме запуска vcvarsall.bat), но даже если бы я мог, каждый раз, когда я открывал новый терминал в VS Code, переменные среды сбрасывались сами по себе.

По сути, решения этой проблемы, которые я вижу:

  1. Запуск vcvarsall.bat перед каждой задачей сборки.

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

  2. Настроить оболочку, которую использует VS Code. как и командная строка для разработчиков по умолчанию.

    К сожалению, я понятия не имею, с чего начать. Я могу легко установить для используемой оболочки либо cmd, либо PowerShell, но не командную строку разработчика, и при этом я не могу найти, где настроить переменные среды, и при этом я не знаю, каковы все эффекты vcvarsall.bat, поэтому я знаю, какие переменные для установки.

Если есть более простой способ достижения того, чего я добиваюсь, я был бы очень рад это услышать. Несмотря на это, все сводится к тому, что я хочу знать, как настроить VS Code таким образом, чтобы я мог компилировать свой код из среды IDE.

1 Ответ

0 голосов
/ 05 марта 2020

Я нашел ответ после того, как куча еще ковырялся Моя настройка (в tasks.json) теперь выглядит следующим образом:

"command": "&",
"args": [
  "'D:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Auxiliary\\Build\\vcvars32.bat';",
  "cl.exe",
  "/Zi",
  "/EHsc",
  "/Fe:",
  "${fileDirname}\\${fileBasenameNoExtension}.exe",
  "${file}"
]

с помощью & вы можете выполнить путь, содержащий пробелы. Это приводит к моему vcvars32.bat (местоположение может отличаться для других людей), которое устанавливает правильные переменные без необходимости вводить их вручную. ; позволяет выполнять несколько команд одну за другой в PowerShell.

...