Как вывести консоль в Visual Studio
Обновлено: 31.10.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 ответов
Вы случайно не перенаправили вывод в "Немедленное окно" в "Отладка->Параметры". '?
Да, проверено. Я использую 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 точки останова и появится ли сообщение в окнах вывода?
Если ответ полезен, нажмите "Принять ответ" и проголосуйте за него.
Примечание: следуйте инструкциям в нашей документации, чтобы включить уведомления по электронной почте, если вы хотите получать соответствующее уведомление по электронной почте для этой темы. .
Когда я изменил свое сообщение с 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, выберите «Открыть» — выберите эту папку
Шаг 3. Выберите «Новый файл», назовите его index.html
Шаг 4. Добавьте HTML/JS и сохраните его
Visual Studio Code теперь открывает для вас окно браузера, и вы можете увидеть сообщение console.log из демонстрационного кода в консоли отладки.
Вы можете использовать консоль отладки, чтобы делать все, что вы обычно делаете в консоли инструментов браузера. У вас также есть доступ ко всем удобным методам, таким как $ для document.querySelector. Попробуйте это, используя $(‘body’) в консоли отладки. Вы получаете всю информацию об элементе body текущего документа.
Это полноценная консоль REPL, и вы можете просто ввести любой код JavaScript, например 2+3 или log.repeat(20)
У вас также есть полный доступ к объекту Window и DOM текущей страницы, например, чтобы изменить цвет фона документа, вы можете использовать $('h1').style.background = 'peachpuff' ( а не то, что я сделал сначала на скриншоте).
Чтобы узнать обо всех функциях консоли, см. документацию.
Если вы используете Edge в качестве браузера для отладки, вы также получите дополнительные преимущества. Нажав кнопку «Проверить» на панели отладки, вы откроете элементы инструментов разработчика и сеть прямо в вашем редакторе.
Но об этом позже.
Мои другие работы:
Тема Криса Хейлманна. Иконки SVG от Дэна Кламмера. Хостинг MediaTemple. При поддержке Coffee и Spotify Radio.
Читайте также: