Как закрыть решение visual studio
Обновлено: 04.07.2024
Это, вероятно, вопрос о запуске, поскольку, несомненно, ответ ослепительно очевиден.
Я использовал Visual Studio в течение многих лет, но это первый раз, когда я создал любую консольную программу.
Когда я запускаю приложение, появляется окно консоли, появляется выход программы, а затем окно закрывается по мере выхода приложения.
Есть ли способ открыть его, пока я не проверил вывод или не просмотрел результаты после закрытия окна?
ОТВЕТЫ
Ответ 1
Если вы запускаете без отладки (Ctrl + F5), то по умолчанию он предлагает вам нажать return, чтобы закрыть окно. Если вы хотите использовать отладчик, вы должны поставить точку останова в последней строке.
Ответ 2
Щелкните правой кнопкой мыши на вашем проекте
Свойства> Свойства конфигурации> Линкер> Система
Выберите Console (/SUBSYSTEM: CONSOLE) в опции SubSystem или вы можете просто ввести Console в текстовое поле!
Теперь попробуйте. это должно работать
Ответ 3
Вот способ для C/С++:
Ответ 4
Откройте меню отладки- > Нажмите Начать без использования
Ответ 5
Он будет ждать <ENTER> .
Ответ 6
попробуйте вызвать getchar() прямо перед возвратом main() .
Ответ 7
(/SUBSYSTEM: CONSOLE) не работал для моего vs2013 (у меня его уже было).
"run without debugging" не является параметром, так как я не хочу переключаться между отладкой и просмотром вывода.
Решение, используемое в qtcreator до 2.6. Теперь, когда qt растет, vs идет другим путем. Насколько я помню, в vs2008 нам не нужны такие трюки.
Ответ 8
Здесь решение, что (1) не требует каких-либо изменений кода или точек останова, и (2) приостанавливается после завершения программы, чтобы вы могли видеть все, что было напечатано. Он остановится после F5 или Ctrl + F5. Основной недостаток заключается в том, что на VS2013 Express (как проверено) он не загружает символы, поэтому отладка очень ограничена.
Создайте командный файл. Я назвал мой runthenpause.bat со следующим содержимым:
Первая строка будет запускать любую команду, которую вы предоставляете, и до восьми аргументов. Вторая строка будет. пауза.
Откройте свойства проекта | Конфигурационные свойства | Отладка.
Теперь, когда вы запустите, runthenpause.bat запустит ваше приложение, и после того, как ваше приложение завершится, вы остановитесь, чтобы увидеть вывод консоли.
Я опубликую обновление, если выясню, как загрузить символы. Я пробовал /Z7 за этот, но безуспешно.
Ответ 9
просто введите свою последнюю строку кода:
Ответ 10
Начиная с Visual Studio 2017 (15.9.4) есть опция:
Автоматически закрывать консоль, когда отладка прекращается:
Сообщает Visual Studio закрыть консоль в конце сеанса отладки.
Ответ 11
Вы можете запустить исполняемый файл из командной строки. Таким образом, вы можете увидеть весь вывод. Или вы можете сделать что-то вроде этого:
и таким образом окно не будет закрываться, пока вы не введете данные для переменной a .
Ответ 12
добавить "| pause" в поле аргументов команды в разделе отладки в свойствах проекта.
Ответ 13
Просто нажмите CNTRL + F5, чтобы открыть его во внешнем окне командной строки (Visual Studio не контролирует его).
Если это не сработает, добавьте следующее в конец вашего кода:
Подождите, пока вы нажмете клавишу, чтобы закрыть окно терминала, как только код достигнет конца.
Если вы хотите сделать это в нескольких местах, поместите вышеуказанный код в метод (например, private void Pause() ) и вызовите Pause() всякий раз, когда программа достигает возможного конца.
Ответ 14
Несколько лучшее решение:
в начале вашей программы.
- может использовать std:: exit()
- может иметь несколько возвратов из основного
- вы можете запустить свою программу под отладчиком
- Независимый IDE (+ независимый от ОС, если вы используете трюк cin.sync(); cin.ignore(); вместо system("pause"); )
- необходимо изменить код
- не будет останавливаться на std:: terminate()
- все равно произойдет в вашей программе вне сеанса IDE/debugger; вы можете предотвратить это под Windows, используя:
Ответ 15
Обязательно сделайте любой из них в конце функции main() и перед оператором return .
Ответ 16
В моем случае я испытал это, когда создал проект Empty C++ в версии VS 2017 для сообщества. Вам нужно будет установить для подсистемы значение "Консоль (/SUBSYSTEM: CONSOLE)" в разделе "Свойства конфигурации".
- Зайдите в "Просмотр", затем выберите "Менеджер недвижимости"
- Щелкните правой кнопкой мыши на проекте/решении и выберите "Свойство". Откроется страница свойств теста.
- Перейдите к компоновщику, затем выберите "Система"
- Нажмите "Подсистема" и появится выпадающий
- Выберите "Консоль (/SUBSYSTEM: CONSOLE)"
- Применить и сохранить
- В следующий раз, когда вы запустите свой код с помощью "CTRL +F5", вы должны увидеть результат.
Ответ 17
Вы также можете использовать эту опцию
Ответ 18
Ответ 19
Visual Studio 2015, импорт. Потому что я ненавижу когда примеры кода не дают необходимых импортов.
В наше время open source проекты все популярнее. На площадках открытых проектов, например, на github можно найти множество полезных программ, но они не всегда имеют исполняемые файлы ("exe"), поэтому я постараюсь рассказать о том, как можно собрать самостоятельно C/C++ программу, из исходников, написанную на Microsoft Visual Studio.
Первым делом нам необходимо загрузить онлайн установщик Microsoft Visual Studio, с официального сайта. Для компиляции С/С++ проектов нет необходимости во всех пакетах и можно выбрать только те, которые нам необходимы.
Установщик загрузит необходимые пакеты из интернета и установит их.
После установки Visual Studio можно убедиться, что всё работает создав тестовый проект и скомпилировав его. Для этого нажмите в меню "Файл" → "Создать" → "Проект. "
После чего появится диалог выбора типа проекта, где можно выбрать:
- Консольное приложение;
- Классическое приложение;
- Библиотеку динамической компоновки (dll);
- Статическую библиотеку;
В нашем случае для быстрой проверки подойдет консольное приложение, выбираем название и папку проекта , после чего жмём кнопку "ОК" и создается наша программа.
После этого остается остается лишь скомпилировать её, для этого нужно выбрать в меню "Сборка" и нажать на пункт "Собрать решение".
Далее наш проект скомпилируется и в папке проекта появится наш тестовый исполняемый файл ("exe").
Если всё работает как надо, то можно приступать к сборке какого-нибудь другого открытого проекта с github или другого хостинга проектов.
Первым делом нам нужно загрузить исходники проекта. На площадке github это делается довольно просто, жмем на кнопку "Code" и "Download ZIP". После чего нужно распаковать его и можно приступать к сборке.
Ищем файл с расширением "<название_проекта>.vcxproj" и запускаем его. Перед нами появится диалог в котором нам предложат обновить SDK проекта (набор библиотек для разработки, которые Microsoft периодически обновляет) и набор инструментов, жмём обновить.
Теперь наш проект можно собрать, но до сборки необходимо выбрать разрядность проекта (например, для 32 битной системы или 64 битной), а также тип сборки (отладочный режим - debug или release).
Выбираем 64 битную систему и тип сборки релиз, после чего компилируем проект. Как и ранее нужно выбрать в меню "Сборка" и нажать на пункт "Собрать решение".
Некоторые проектам требуется вручную изменить SDK и набор инструментов, на установленный у вас, для этого идём в свойства проекта, выбираем сверху типа сборки и разрядность системы и уже там изменяем SDK и набор инструментов. В выпадающем меню появляются установленные у нас версии, выбираем их и нажимаем "ОК". После чего наш проект скомпилируется.
Бывает, что проект использует сторонние библиотеки, для этого их нужно загрузить отдельно и положить в папку. Узнать путь или изменить его можно в свойстве проекта, в разделе "С/C++" → "Общие" → "Дополнительные каталоги включаемых файлов".
Бывает, что SDK или набор инструментов, в свойстве проекта не изменяется в диалоге, чтобы изменить их нужно записать номер SDK, закрыть Visual Studio и вручную, блокнотом изменить этот номер в файле проекта "<название_проекта>.vcxproj".
При возникновении других проблем можно попробовать их загуглить, возможно, что кто-то уже сталкивался с ними и решил их.
Это, вероятно, вопрос о запуске, поскольку, несомненно, ответ ослепительно очевиден.
Я использовал Visual Studio в течение многих лет, но это первый раз, когда я создал любую консольную программу.
Когда я запускаю приложение, появляется окно консоли, появляется выход программы, а затем окно закрывается по мере выхода приложения.
Есть ли способ открыть его, пока я не проверил вывод или не просмотрел результаты после закрытия окна?
ОТВЕТЫ
Ответ 1
Если вы запускаете без отладки (Ctrl + F5), то по умолчанию он предлагает вам нажать return, чтобы закрыть окно. Если вы хотите использовать отладчик, вы должны поставить точку останова в последней строке.
Ответ 2
Щелкните правой кнопкой мыши на вашем проекте
Свойства> Свойства конфигурации> Линкер> Система
Выберите Console (/SUBSYSTEM: CONSOLE) в опции SubSystem или вы можете просто ввести Console в текстовое поле!
Теперь попробуйте. это должно работать
Ответ 3
Вот способ для C/С++:
Ответ 4
Откройте меню отладки- > Нажмите Начать без использования
Ответ 5
Он будет ждать <ENTER> .
Ответ 6
попробуйте вызвать getchar() прямо перед возвратом main() .
Ответ 7
(/SUBSYSTEM: CONSOLE) не работал для моего vs2013 (у меня его уже было).
"run without debugging" не является параметром, так как я не хочу переключаться между отладкой и просмотром вывода.
Решение, используемое в qtcreator до 2.6. Теперь, когда qt растет, vs идет другим путем. Насколько я помню, в vs2008 нам не нужны такие трюки.
Ответ 8
Здесь решение, что (1) не требует каких-либо изменений кода или точек останова, и (2) приостанавливается после завершения программы, чтобы вы могли видеть все, что было напечатано. Он остановится после F5 или Ctrl + F5. Основной недостаток заключается в том, что на VS2013 Express (как проверено) он не загружает символы, поэтому отладка очень ограничена.
Создайте командный файл. Я назвал мой runthenpause.bat со следующим содержимым:
Первая строка будет запускать любую команду, которую вы предоставляете, и до восьми аргументов. Вторая строка будет. пауза.
Откройте свойства проекта | Конфигурационные свойства | Отладка.
Теперь, когда вы запустите, runthenpause.bat запустит ваше приложение, и после того, как ваше приложение завершится, вы остановитесь, чтобы увидеть вывод консоли.
Я опубликую обновление, если выясню, как загрузить символы. Я пробовал /Z7 за этот, но безуспешно.
Ответ 9
просто введите свою последнюю строку кода:
Ответ 10
Начиная с Visual Studio 2017 (15.9.4) есть опция:
Автоматически закрывать консоль, когда отладка прекращается:
Сообщает Visual Studio закрыть консоль в конце сеанса отладки.
Ответ 11
Вы можете запустить исполняемый файл из командной строки. Таким образом, вы можете увидеть весь вывод. Или вы можете сделать что-то вроде этого:
и таким образом окно не будет закрываться, пока вы не введете данные для переменной a .
Ответ 12
добавить "| pause" в поле аргументов команды в разделе отладки в свойствах проекта.
Ответ 13
Просто нажмите CNTRL + F5, чтобы открыть его во внешнем окне командной строки (Visual Studio не контролирует его).
Если это не сработает, добавьте следующее в конец вашего кода:
Подождите, пока вы нажмете клавишу, чтобы закрыть окно терминала, как только код достигнет конца.
Если вы хотите сделать это в нескольких местах, поместите вышеуказанный код в метод (например, private void Pause() ) и вызовите Pause() всякий раз, когда программа достигает возможного конца.
Ответ 14
Несколько лучшее решение:
в начале вашей программы.
- может использовать std:: exit()
- может иметь несколько возвратов из основного
- вы можете запустить свою программу под отладчиком
- Независимый IDE (+ независимый от ОС, если вы используете трюк cin.sync(); cin.ignore(); вместо system("pause"); )
- необходимо изменить код
- не будет останавливаться на std:: terminate()
- все равно произойдет в вашей программе вне сеанса IDE/debugger; вы можете предотвратить это под Windows, используя:
Ответ 15
Обязательно сделайте любой из них в конце функции main() и перед оператором return .
Ответ 16
В моем случае я испытал это, когда создал проект Empty C++ в версии VS 2017 для сообщества. Вам нужно будет установить для подсистемы значение "Консоль (/SUBSYSTEM: CONSOLE)" в разделе "Свойства конфигурации".
- Зайдите в "Просмотр", затем выберите "Менеджер недвижимости"
- Щелкните правой кнопкой мыши на проекте/решении и выберите "Свойство". Откроется страница свойств теста.
- Перейдите к компоновщику, затем выберите "Система"
- Нажмите "Подсистема" и появится выпадающий
- Выберите "Консоль (/SUBSYSTEM: CONSOLE)"
- Применить и сохранить
- В следующий раз, когда вы запустите свой код с помощью "CTRL +F5", вы должны увидеть результат.
Ответ 17
Вы также можете использовать эту опцию
Ответ 18
Ответ 19
Visual Studio 2015, импорт. Потому что я ненавижу когда примеры кода не дают необходимых импортов.
Как предотвратить закрытие окна консоли в Visual Studio C / C ++
Это, вероятно, неудобный вопрос, поскольку, без сомнения, ответ ослепляюще очевиден.
Когда я запускаю свое приложение, появляется окно консоли, появляется вывод программы, а затем окно закрывается при выходе из приложения.
Есть ли способ оставить его открытым, пока я не проверю вывод, или просмотреть результаты после закрытия окна?
- Monodevelop делает то, что вы ожидаете.
- Согласовано. Я думаю, что лучший ответ для VS 2017 и новее - от chronoxor.
Начиная с Visual Studio 2017 (15.9.4) есть возможность:
Соответствующий фрагмент из документации Visual Studio:
Автоматически закрывать консоль при остановке отладки:
Сообщает Visual Studio закрыть консоль в конце сеанса отладки.
- 4 Я только что протестировал это в VS2017 и VS2019. Это требует как настройки подсистемы на КОНСОЛЬ, так и выключения этой опции. При наличии одного или другого окно автоматически закрывается.
- Это по-прежнему закрывает для меня окно, если я запускаю несколько проектов из одного решения.
- Я чувствую, что это правильный ответ для VS 2017 и последующих лет. Жаль, что этого нет в старых версиях.
Если вы запускаете без отладки (Ctrl + F5), то по умолчанию он предлагает вам нажать клавишу возврата, чтобы закрыть окно. Если вы хотите использовать отладчик, вы должны поставить точку останова на последней строке.
Щелкните правой кнопкой мыши свой проект
Свойства> Свойства конфигурации> Компоновщик> Система
Выбрать Консоль (/ SUBSYSTEM: CONSOLE) в SubSystem вариант или вы можете просто ввести Приставка в текстовом поле!
Теперь попробуйте . он должен работать
- Это сработало для моего VS2013 Express, но принятый ответ - нет. Очень странно, поскольку принятый ответ работал для всех версий Visual Studio, которые я использовал в прошлом.
- 9 @MichaelCalvin Вы должны запустить с Ctrl + F5 после установки этого, это кикер.
- как заявил @JonathanMee, вы все еще использовали Ctrl + F5. Это уже было установлено в моей визуальной студии 2015, поэтому первый ответ оказался наиболее полезным.
- Это действительно так. Знакомый CTRL+F5 не удастся, если вы, скажем, добавите новый файл C ++ в пустой проект.
- У меня работал над Visual Studio Express 2015. Спасибо.
Вот способ для C / C ++:
- Этот метод не работает в Visual C ++ (если вы не добавили заголовок?)
- 2 @wmac Вы должны включить заголовок windows.h
- 1 Я не включил ни одну библиотеку или пространство имен, но оно работает правильно, большое спасибо.
- 1 Не делай этого, пожалуйста. В pause команда специфична для Windows.
- У меня работал над Visual Studio 2013 Express. :)
Перейти к меню отладки->Нажмите StartWithoutDebugging
- 10 +1 - Либо это, либо Console.ReadKey() просто ждать любой клавиши.
- Странно, но в моем приложении это не действует. Он по-прежнему закрывается, не дожидаясь ввода данных пользователем.
- 4 Тогда ваш код, скорее всего, завершится до того, как достигнет этой точки.
- Не лучшее решение, если вы запускаете тесты, так как они заставят ваши тесты зависать и никогда не завершаться.
Попробуйте позвонить getchar() прямо перед main() возвращается.
- Не работает в VS 2008 для простого консольного приложения Hello Name. cout, cin, cout, getchar (), консоль все еще закрывается. В чем дело?
- 1 Попробуйте поместить getchar () дважды, если у вас есть cout непосредственно перед getchar (). getchar () ожидает char, а вы уже даете его cout . Сообщите мне, поможет ли это :)
(/ SUBSYSTEM: CONSOLE) не работал для моего vs2013 (у меня он уже был).
"запускать без отладки" не вариант, так как я не хочу переключаться между отладкой и просмотром вывода.
Решение, используемое в qtcreator до 2.6. Теперь, когда qt растет, vs идет другим путем. Насколько я помню, в vs2008 нам такие ухищрения не понадобились.
Вот решение, которое (1) не требует изменений кода или точек останова и (2) приостанавливает работу после завершения программы чтобы вы могли видеть все это было напечатано. Он будет приостановлен после F5 или Ctrl + F5. Основным недостатком является то, что в VS2013 Express (как было проверено) он не загружает символы, поэтому отладка очень ограничена.
Создайте командный файл. Я позвонил своему runthenpause.bat , со следующим содержанием:
Первая строка будет запускать любую предоставленную вами команду и до восьми аргументов. Вторая строка . пауза.
Откройте свойства проекта | Свойства конфигурации | Отладка.
Теперь, когда ты бежишь, runthenpause.bat запустит ваше приложение и после его завершения остановится, чтобы вы могли увидеть вывод консоли.
Я опубликую обновление, если выясню, как загрузить символы. Я старался /Z7 за это, но безуспешно.
- 1 Это все еще не поддерживает отладку, но, по крайней мере, решает проблему отсутствия вывода, например. VLD, в отличие от все другие ответы.
просто введите в качестве последней строки кода:
Вы можете запустить исполняемый файл из командной строки. Таким образом, вы могли видеть весь результат. Или вы можете сделать что-то вроде этого:
и таким образом окно не закроется, пока вы не введете данные для a переменная.
- 4 Это было бы отличным решением, если бы оно работало. pause похоже, работает только в пакетных файлах, и хотя он получает ввод от вашей программы на STDIN, он не распечатывает этот текст повторно. Я пробовал заменить | с участием && , но это не повлияло - предположительно, потому что он не выполняется с помощью командной оболочки (cmd.exe).
Просто нажмите CNTRL + F5, чтобы открыть его во внешнем окне командной строки (Visual Studio не контролирует его).
Если это не сработает, добавьте в конец кода следующее:
Это ждет, пока вы нажмете клавишу, чтобы закрыть окно терминала, когда код достигнет конца.
Если вы хотите сделать это в нескольких местах, поместите приведенный выше код в метод (например, private void Pause() ) и звоните Pause() всякий раз, когда программа достигает возможного конца.
Несколько лучшее решение:
в начале вашей программы.
- можно использовать std :: exit ()
- может иметь несколько возвратов из основного
- вы можете запустить свою программу под отладчиком
- Независимость от IDE (+ независимость от ОС, если вы используете cin.sync(); cin.ignore(); трюк вместо system('pause'); )
- нужно изменить код
- не будет останавливаться на std :: terminate ()
- все равно будет происходить в вашей программе вне сеанса IDE / отладчика; вы можете предотвратить это в Windows, используя:
- Очень плохой совет.
- Можете объяснить почему?
- В случае, когда отладка не ведется, она не делает ничего полезного, потому что в этом случае нет проблемы, которую нужно решать. В VS просто запустите программу с помощью Ctrl + F5 и все, так что в VS нет проблем, а в интерпретаторе команд нет проблем, короче говоря, нет проблем. А в случае, когда кто-то отлаживает и хочет, чтобы код остановки остановился, это не более удобное решение, чем точка останова, и вмешивается в ситуации, когда остановка не нужна.
Обязательно сделайте любой из них в конце main() функция и до return заявление.
Вы также можете использовать эту опцию
Visual Studio 2015, с участием импорт. Потому что я ненавижу, когда примеры кода не дают необходимого импорта.
Перейдите в Настройки> Отладка> Снять галочку рядом.
В настоящее время нет возможности сделать это с приложениями, работающими в WSL2. Однако есть два обходных пути:
В окне отладки сохраняется содержимое закрытого окна оболочки WSL.
Окно остается открытым, если ваше приложение возвращает ненулевой код возврата, поэтому, например, вы можете вернуть ненулевой код в отладочных сборках.
Читайте также: