Как вывести консоль в Visual Studio

Обновлено: 05.07.2024

Некоторая информация относится к предварительной версии продукта, которая может быть существенно изменена до ее выпуска. Microsoft не дает никаких явных или подразумеваемых гарантий в отношении представленной здесь информации.

Записывает текстовое представление указанного значения или значений в стандартный поток вывода.

Перегрузки

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

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

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

Записывает текстовое представление указанного массива объектов в стандартный поток вывода, используя указанную информацию о формате.

Записывает текстовое представление указанного объекта в стандартный поток вывода, используя указанную информацию о формате.

Записывает текстовое представление указанного 64-битного целого числа без знака в стандартный поток вывода.

Записывает текстовое представление указанного 32-битного целого числа без знака в стандартный поток вывода.

Записывает указанное строковое значение в стандартный поток вывода.

Записывает указанный подмассив символов Unicode в стандартный поток вывода.

Записывает текстовое представление указанного объекта в стандартный поток вывода.

Записывает текстовое представление указанного значения с плавающей запятой одинарной точности в стандартный поток вывода.

Записывает указанное значение символа Unicode в стандартный поток вывода.

Записывает указанный массив символов Unicode в стандартный поток вывода.

Записывает текстовое представление указанного логического значения в стандартный поток вывода.

Записывает текстовое представление указанного значения двойной точности с плавающей запятой в стандартный поток вывода.

Записывает текстовое представление указанного 32-битного целого числа со знаком в стандартный поток вывода.

Записывает текстовое представление указанного 64-битного целого числа со знаком в стандартный поток вывода.

Записывает текстовое представление указанного значения Decimal в стандартный поток вывода.

Запись(Строка, Объект, Объект, Объект, Объект)

Этот API несовместим с CLS.

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

Параметры

Строка составного формата.

Первый объект для записи с использованием формата .

Второй объект для записи с использованием формата .

Третий объект для записи с использованием формата .

Четвертый объект для записи с использованием формата .

Исключения

Произошла ошибка ввода-вывода.

Спецификация формата в формате недействительна.

Примеры

В следующем примере показано использование переменных параметров с методом Write(String, Object, Object, Object, Object). Метод вызывается со строкой составного формата и пятью элементами формата.

Примечания

Параметр формата состоит из нуля или более фрагментов текста, перемешанных с нулем или более проиндексированных заполнителей, называемых элементами формата, которые соответствуют объекту в списке параметров этого метода. В процессе форматирования каждый элемент формата заменяется текстовым представлением значения соответствующего объекта.

Синтаксис элемента формата: < index[ , alignment][ : formatString] > , который указывает обязательный индекс, необязательная длина и выравнивание форматированного текста, а также необязательная строка символов описателя формата, определяющая способ форматирования значения соответствующего объекта.

Дополнительную информацию о функции составного форматирования, поддерживаемой такими методами, как Format, AppendFormat и некоторыми перегрузками WriteLine, см. в разделе Составное форматирование.

Дополнительную информацию о спецификаторах числового формата см. в разделах Строки стандартного числового формата и Строки пользовательского числового формата.

Дополнительную информацию о спецификаторах формата даты и времени см. в разделах Стандартные строки формата даты и времени и Строки настраиваемого формата даты и времени.

Дополнительную информацию о спецификаторах формата перечисления см. в разделе Строки формата перечисления.

Дополнительную информацию о форматировании см. в разделе Типы форматирования.

Примечания для звонящих

См. также

Относится к

Запись(Строка, Объект, Объект, Объект)

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

Параметры

Строка составного формата.

Первый объект для записи с использованием формата .

Второй объект для записи с использованием формата .

Третий объект для записи с использованием формата .

Исключения

Произошла ошибка ввода-вывода.

Спецификация формата в формате недействительна.

Примеры

В следующем примере метод WriteLine используется для демонстрации стандартных описателей форматирования для чисел, дат и перечислений.

Следующий пример иллюстрирует использование метода Write.

Примечания

Параметр формата состоит из нуля или более фрагментов текста, перемешанных с нулем или более проиндексированных заполнителей, называемых элементами формата, которые соответствуют объекту в списке параметров этого метода. В процессе форматирования каждый элемент формата заменяется текстовым представлением значения соответствующего объекта.

Синтаксис элемента формата: < index[ , alignment][ : formatString] > , который указывает обязательный индекс, необязательная длина и выравнивание форматированного текста, а также необязательная строка символов описателя формата, определяющая способ форматирования значения соответствующего объекта.

Дополнительную информацию о функции составного форматирования, поддерживаемой такими методами, как Format, AppendFormat и некоторыми перегрузками WriteLine, см. в разделе Составное форматирование.

Дополнительную информацию о спецификаторах числового формата см. в разделах Строки стандартного числового формата и Строки пользовательского числового формата.

Дополнительную информацию о спецификаторах формата даты и времени см. в разделах Стандартные строки формата даты и времени и Строки настраиваемого формата даты и времени.

Дополнительную информацию о спецификаторах формата перечисления см. в разделе Строки формата перечисления.

Дополнительную информацию о форматировании см. в разделе Типы форматирования.

См. также

Относится к

Запись(Строка, Объект, Объект)

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

Параметры

Строка составного формата.

Первый объект для записи с использованием формата .

Второй объект для записи с использованием формата .

Исключения

Произошла ошибка ввода-вывода.

Спецификация формата в формате недействительна.

Примеры

В следующем примере метод WriteLine используется для демонстрации стандартных описателей форматирования для чисел, дат и перечислений.

Следующий пример иллюстрирует использование метода Write.

Примечания

Параметр формата состоит из нуля или более фрагментов текста, перемешанных с нулем или более проиндексированных заполнителей, называемых элементами формата, которые соответствуют объекту в списке параметров этого метода. В процессе форматирования каждый элемент формата заменяется текстовым представлением значения соответствующего объекта.

Синтаксис элемента формата: < index[ , alignment][ : formatString] > , который указывает обязательный индекс, необязательная длина и выравнивание форматированного текста, а также необязательная строка символов описателя формата, определяющая способ форматирования значения соответствующего объекта.

Дополнительную информацию о функции составного форматирования, поддерживаемой такими методами, как Format, AppendFormat и некоторыми перегрузками WriteLine, см. в разделе Составное форматирование.

Дополнительную информацию о спецификаторах числового формата см. в разделах Строки стандартного числового формата и Строки пользовательского числового формата.

Дополнительную информацию о спецификаторах формата даты и времени см. в разделах Стандартные строки формата даты и времени и Строки настраиваемого формата даты и времени.

Дополнительную информацию о спецификаторах формата перечисления см. в разделе Строки формата перечисления.

Дополнительную информацию о форматировании см. в разделе Типы форматирования.

См. также

Относится к

Запись(Строка, Объект[])

Записывает текстовое представление указанного массива объектов в стандартный поток вывода, используя указанную информацию о формате.

Параметры

Строка составного формата.

Массив объектов для записи с использованием формата .

Исключения

Произошла ошибка ввода-вывода.

формат или аргумент имеют значение null .

Спецификация формата в формате недействительна.

Примеры

В следующем примере определяется класс Person с рядом свойств, предоставляющих информацию о человеке. Его метод GetDescription возвращает массив, содержащий все значения свойств, кроме одного. Затем в примере используется массив, возвращаемый методом GetDescription, для отображения значений объекта Person.

Обратите внимание, что в примере вызывается метод Write(String, Object[]), а не метод WriteLine(String, Object[]), поскольку он пытается отобразить значение свойства Person.Remarks в той же строке. Для этого он проверяет значение свойств CursorLeft и WindowWidth, чтобы определить, достаточно ли места для размещения примечания. Если есть, он отображает строку. Если нет, он пишет строку, делает отступ в три пробела и отображает примечание.

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

Примечания

Параметр формата состоит из нуля или более фрагментов текста, перемешанных с нулем или более проиндексированных заполнителей, называемых элементами формата, которые соответствуют объекту в списке параметров этого метода. В процессе форматирования каждый элемент формата заменяется текстовым представлением значения соответствующего объекта.

Синтаксис элемента формата: < index[ , alignment][ : formatString] > , который указывает обязательный индекс, необязательная длина и выравнивание форматированного текста, а также необязательная строка символов описателя формата, определяющая способ форматирования значения соответствующего объекта.

Дополнительную информацию о функции составного форматирования, поддерживаемой такими методами, как Format, AppendFormat и некоторыми перегрузками WriteLine, см. в разделе Составное форматирование.

Дополнительную информацию о спецификаторах числового формата см. в разделах Строки стандартного числового формата и Строки пользовательского числового формата.

Дополнительную информацию о спецификаторах формата даты и времени см. в разделах Стандартные строки формата даты и времени и Строки настраиваемого формата даты и времени.

Дополнительную информацию о спецификаторах формата перечисления см. в разделе Строки формата перечисления.

Дополнительную информацию о форматировании см. в разделе Типы форматирования.

Параметр arg представляет собой массив параметров. Аргументы могут быть переданы в метод либо в виде массива, либо в виде списка из пяти или более элементов. Примеры иллюстрируют обе формы вызова метода.

VS 2019 Console.Writeline — вывод отсутствует в окне вывода

Попробуйте вместо этого использовать Debug.WriteLine.

После добавления System.Diagnostics эти выходные данные отображаются, но в окне немедленного просмотра.

Вопрос в том, почему оригинальный способ не работает? Нет исключений - нет ничего.

7 ответов

Вы случайно не перенаправили вывод в "Немедленное окно" в "Отладка->Параметры". '?

70309-output.jpg

Да, проверено. Я использую 2019 всего неделю или около того, и мало что изменилось, и вполне возможно, что я установил этот флажок, пытаясь сделать вывод Console.WriteLine видимым.

Так что, да, это помогает, так как теперь Debug.WriteLine переходит в окно вывода (что полезно, потому что окно вывода сохраняется даже после прекращения отладки приложения).

Но остается вопрос: куда направляется вывод Console.WriteLine и почему он не отображается в окне вывода, как это было в VS 2017? Было ли это преднамеренным изменением? Это было где-то задокументировано? Определенно нарушает "принцип наименьшего удивления".

Добро пожаловать на форум вопросов и ответов Microsoft.

Обычно Console.WriteLine() записывает в Console , поскольку окно вывода не является console , мы можем использовать библиотеку классов System.Diagnostics (класс Debug или класс Trace) для отправки сообщений в окно вывода.

Но при определенных обстоятельствах Console.WriteLine() также работает, и сообщение появляется в окне вывода. Я проверил на своей стороне и заметил, что Console.WriteLine() действительно показывает сообщение в моем окне вывода. Если вы сделали то же самое, что и я, но проблема остается, я предлагаю вам запустить Visual Studio 2019 в безопасном режиме (запустите devenv /SafeMode в командной строке разработчика для VS 2019), установить точки останова для «комментария» и начать отладку, нажмите Step Into (F11), чтобы увидеть, достигла ли VS точки останова и появится ли сообщение в окнах вывода?

70415-debug.jpg

Если ответ полезен, нажмите "Принять ответ" и проголосуйте за него.
Примечание: следуйте инструкциям в нашей документации, чтобы включить уведомления по электронной почте, если вы хотите получать соответствующее уведомление по электронной почте для этой темы. .

Когда я изменил свое сообщение с Console.WriteLine() на Debug.WriteLine(), да, сообщение действительно появилось в окне вывода, так что дело НЕ в том, что код не достиг этой точки. Сообщения от Console.WriteLine() не появляются. Это отлично работало в VS 2017 (в другом приложении. Я даже сделал фиктивное приложение (очень похожее на то, что у вас есть выше) и поместил Console.Writeline() в самом начале после InitializeComponent и вывод из Debug.WriteLine() есть, но не Console.WriteLine().

public Form1()
InitializeComponent();

Привет, отладчик!

Сообщество VS 2019 16.8.5

Спасибо за отзыв и за то, что поделились со мной подробной информацией (результатами).

В окне вывода отображаются сообщения о состоянии различных функций интегрированной среды разработки (IDE).Чтобы открыть окно «Вывод», в строке меню выберите «Вид» > «Вывод» или нажмите Ctrl+Alt+O.

Панель инструментов

Следующие элементы управления отображаются на панели инструментов окна вывода.

Показать результат

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

Найти сообщение в коде

Перемещает точку вставки в редакторе кода на строку, содержащую выбранную ошибку сборки.

Перейти к предыдущему сообщению

Изменяет фокус в окне вывода на предыдущую ошибку сборки и перемещает точку вставки в редакторе кода на строку, содержащую эту ошибку сборки.

Перейти к следующему сообщению

Изменяет фокус в окне вывода на следующую ошибку сборки и перемещает точку вставки в редакторе кода на строку, содержащую эту ошибку сборки.

Очистить все

Удаляет весь текст с панели вывода.

Переключить перенос слов

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

Панель вывода

На панели «Вывод», выбранной в списке «Показать вывод из», отображается вывод из указанного источника.

Направлять сообщения в окно вывода

Чтобы отображать окно вывода при каждой сборке проекта, в диалоговом окне "Параметры" на странице "Проекты и решения" > "Общие" выберите "Показывать окно вывода при запуске сборки". Затем, когда файл кода открыт для редактирования, выберите «Перейти к следующему сообщению» и «Перейти к предыдущему сообщению» на панели инструментов окна «Вывод», чтобы выбрать записи на панели «Вывод». При этом точка вставки в редакторе кода переходит к строке кода, в которой возникает выбранная проблема.

В C++ можно создавать настраиваемые этапы сборки и события сборки, предупреждения и ошибки которых отображаются и подсчитываются на панели вывода. Нажав F1 в строке вывода, вы можете отобразить соответствующий раздел справки. Дополнительные сведения см. в разделе Форматирование вывода пользовательского шага сборки.

Поведение при прокрутке

Если вы используете автопрокрутку в окне вывода, а затем перемещаетесь с помощью мыши или клавиш со стрелками, автопрокрутка останавливается. Чтобы возобновить автопрокрутку, нажмите Ctrl+End.

С помощью нового встроенного отладчика JavaScript в коде Visual Studio вы можете использовать консоль инструментов разработчика браузера прямо в редакторе.

Я только что опубликовал видео в стиле «TikTok» на официальном канале Visual Studio Code, объясняющее это, и — после многочисленных критических замечаний по поводу качества видео (ребята, это специально!) — у людей появилось больше вопросов, так что вот идет.

В видео я использую открытый проект с уже определенным файлом launch.json, что означает, что он открывает для вас правильный URL-адрес, когда вы начинаете отладку. Впрочем, это можно сделать и вручную. И это даже работает без локального сервера. Итак, давайте сделаем это.

Шаг 1. Создайте папку и назовите ее consoledebug
Шаг 2. Запустите Visual Studio Code, выберите «Открыть» — выберите эту папку

Новый экземпляр Visual Studio Code с

Шаг 3. Выберите «Новый файл», назовите его index.html
Шаг 4. Добавьте HTML/JS и сохраните его

HTML-пример для консоли отладка» ширина = «1922» высота = «1058» /><br /></p>
<p>Шаг 5. Выберите значок «Запустить и отладить» и нажмите кнопку «Запустить и отладить»</p>
<p><img class=

Visual Studio Code теперь открывает для вас окно браузера, и вы можете увидеть сообщение console.log из демонстрационного кода в консоли отладки.

Сообщения консоли в консоли отладки Visual Studio Code

Вы можете использовать консоль отладки, чтобы делать все, что вы обычно делаете в консоли инструментов браузера. У вас также есть доступ ко всем удобным методам, таким как $ для document.querySelector. Попробуйте это, используя $(‘body’) в консоли отладки. Вы получаете всю информацию об элементе body текущего документа.

Доступ к телу документа из консоли отладки

Это полноценная консоль REPL, и вы можете просто ввести любой код JavaScript, например 2+3 или log.repeat(20)

Запуск JavaScript в Консоль отладки

У вас также есть полный доступ к объекту Window и DOM текущей страницы, например, чтобы изменить цвет фона документа, вы можете использовать $('h1').style.background = 'peachpuff' ( а не то, что я сделал сначала на скриншоте).

Изменение CSS из консоли

Чтобы узнать обо всех функциях консоли, см. документацию.

Если вы используете Edge в качестве браузера для отладки, вы также получите дополнительные преимущества. Нажав кнопку «Проверить» на панели отладки, вы откроете элементы инструментов разработчика и сеть прямо в вашем редакторе.

Инструменты разработчика в VS Код

Но об этом позже.

Мои другие работы:

Тема Криса Хейлманна. Иконки SVG от Дэна Кламмера. Хостинг MediaTemple. При поддержке Coffee и Spotify Radio.

Читайте также: