Можно ли отлаживать приложение с помощью встроенного Терминала - PullRequest
1 голос
/ 25 мая 2020

По умолчанию в VS2019 при нажатии F5 для отладки консольного приложения VS запускает новый CMD и запускает в нем код. Возможно ли, чтобы VS использовал вместо этого встроенный терминал?

1 Ответ

1 голос
/ 26 мая 2020

Можно ли отлаживать приложение с помощью встроенного Терминала

Я думаю, вы не можете получить то, что хотите, как вы sh.

Хотя в окне консоли показывает, что он из C:\windows\system32\cmd.exe, на самом деле это специальный сервис (а не настоящий cmd.exe), который реализован, например, в Win7 с conhost.exe.

Судя по вашему описанию, вы, вероятно, захотите запустить на нем некоторые команды, например developer command prompt for VS2019, а не команду по умолчанию при отладке этого консольного приложения,

однако , тем самым разработан тип проекта консольного приложения. Нет операции, и Microsoft не поддерживает его изменение по некоторым причинам.

Предложение

Если вам все еще нужна эта функция , вы можете предложить функцию на нашем форуме User Voice Forum , и команда внимательно рассмотрит ваше мнение. Кроме того, вы можете поделиться с нами ссылкой здесь. Любой, кто заинтересован в нем, проголосует за него, чтобы привлечь внимание команды.

Обновление 1

Чтобы добавить более подробную информацию:

На самом деле , есть функция для отладки вашего консольного приложения в любой дополнительной программе, такой как powershell или любой другой исполняемой программе.

На своей стороне я использовал Powershell:

enter image description here

ConsoleApp11.exe - это просто имя выходного файла вашего текущего проекта.

И затем нажмите Начать отладку , он может запустить PowerShell в начале, но это нарушит весь процесс, например, вы не можете попасть в точку останова и обратно немедленно выключить.

Также , Встроенный терминал VS (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat) - это просто bat-файл, а не исполняемый файл (.exe файл), он также принципиально недостижимо.

И поэтому я сказал вам в начале, что этого не произойдет.

Как сказал x0n , консольная подсистема это просто платформа приложения, предлагающая общий сервис с cmd.exe, когда проект запускается, он фактически не запускает CMD, поэтому нереально c его заменить.

Как я и предложил , вы можете отправить свой запрос команде VS и надеяться, что они дадут вам удовлетворительный ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...