Вывод консольного приложения напрямую в Visual Studio, а не на внешнюю консоль Windows - PullRequest
2 голосов
/ 07 января 2020

Будучи новым пользователем Visual Studio Community (2017), я с большим удивлением обнаружил, что мое консольное приложение C ++ работает в консоли, внешней по отношению к IDE.

Поэтому я хотел бы знать, как заставить мою программу работать непосредственно в IDE, как это имеет место для Eclipse, VSCODE, IntelliJi et c ....

Я уже пробовал предлагаемое решение по этому вопросу: Как вы запускаете консольное приложение в окне вывода Visual Studio вместо открытия новой командной строки? , но она не работает для моей версии VS C (2017).

Я бы хотел чтобы узнать, возможно ли это с моей версией и, если да, какие изменения необходимо внести в конфигурацию IDE.

Как это работает сейчас

Как бы я хотел быть

Ответы [ 2 ]

1 голос
/ 07 января 2020

В управляемом коде вы можете попробовать использовать System::Diagnostics::Debug::Write. В неуправляемом коде вы можете попытаться использовать OutputDebugString . В обоих случаях текст будет go к окну вывода, а не к окну немедленного действия. Если вы хотите это в непосредственном окне, внутри VS вы можете go в Сервис -> Параметры -> Отладка -> Общие и установить флажок «Перенаправить весь текст в окне вывода в немедленное окно».

Использование Непосредственное окно для отладки и оценки выражений, выполнения операторов и печати значений переменных. И мы не смогли запустить консольное приложение в окне Immediate.

Насколько мне известно, мы не могли приравнять the system console к Immediate window. А консольное приложение должно запускаться в системной консоли.

0 голосов
/ 07 января 2020

Если вы запускаете вашу программу в отладчике IDE, вы можете использовать OutputDebugString вместо записи в стандартный вывод (например, std :: cout). Таким образом, выходные данные вашей программы появятся в окне вывода IDE.

Однако эта функция предназначена только для целей отладки, а не для обычного использования.

...