Как мне написать цветной текст в окне вывода Visual Studio из C #? - PullRequest
6 голосов
/ 11 марта 2010

Я хочу записать цветной текст в окно вывода Visual Studio из c #. Я хочу вывести красный код из моих модульных тестов.

Ответы [ 6 ]

2 голосов
/ 28 ноября 2018

Я нашел этот вопрос, пытаясь выяснить, почему некоторые строки текста в моем окне вывода Visual Studio 2017 окрашены в красный цвет, и как я могу добиться того же.

Я обнаружил, что смог получить красный текст, написав строку, включающую:

  • экземпляр "Error:" (ошибка, двоеточие, затем пробел)
  • (сюда могут перейти другие персонажи)
  • другой экземпляр "Error:" (ошибка, двоеточие, затем пробел)
  • (другие персонажи могут идти сюда)
  • , за которым следует 1 экземпляр "Error *" (ошибка, затем пробел, а затем какой-то другой символ)
  • (другие персонажи могут идти сюда)

Пример:

Debug.WriteLine("Error: This line will be red Error: Error Jeff");
2 голосов
/ 03 апреля 2014

На самом деле есть расширения для этого. Я использую облегченную (бесплатную) версию VSCommands для Visual Studio 2010 . В версии Pro можно установить регулярное выражение для раскраски. В облегченной версии я добавляю текст «предупреждения» к сообщению отладки, и он написан светло-коричневым цветом.

1 голос
/ 02 января 2019

В дополнение к Джеффу Роу мне удалось получить это:

Предупреждения: Console.WriteLine($"Warning: Warning '{message}'");

Ошибки: Console.WriteLine($"Error: Error '{message}'");

enter image description here

К сожалению, я не мог понять, как получить зеленый вывод. Если бы кто-нибудь мог добавить это, я был бы очень счастлив!

1 голос
/ 11 марта 2010

Насколько я знаю, вы не можете этого сделать. Вы можете изменить цвет шрифта консоли, но это не влияет на окно вывода Visual Studio.

Единственный способ изменить цвет текста там - через Сервис-> Параметры-> Шрифты и цвета, и это влияет на весь текст, который отправляется в окно.

1 голос
/ 11 марта 2010

Насколько я знаю, окно вывода в Visual Studio представляет собой элемент управления типа "простое текстовое поле", который не поддерживает цветной текст.

0 голосов
/ 11 марта 2010
SetConsoleTextAttribute(hConsole, x)

Где k - целочисленное значение цвета, а hConsole - стандартный дескриптор вывода.

Подробнее здесь - более простые команды

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