Reputation: 8830
I want to write color text to the Visual Studio output window from c#. I want to output red code from my unit tests.
Upvotes: 11
Views: 14158
Reputation: 378
Edited The code below works to display output in Windows Console, not to Visual Studio Output window (thanks @AnthonyLambert for correcting me).
Console.ForegroundColor = ConsoleColor.Magenta; //Choose from the Enum
Console.WriteLine("This message is to be in Magenta!");
Console.ResetColor();//Reset to default
Upvotes: -2
Reputation: 5103
In addition to Jeff Roe I've managed to get this:
Warnings: Console.WriteLine($"Warning: Warning '{message}'");
Errors: Console.WriteLine($"Error: Error '{message}'");
Sadly I could not figure out how to get green output. If any1 could add this I would be super happy !
Upvotes: 7
Reputation: 3206
I found this question while trying to figure out why some of the lines of text in my Visual Studio 2017 Output window are colored red, and how I could accomplish the same thing.
I found that I was able to get red text by writing out a line which included:
Error:
" (Error, colon, followed by a space)Error:
" (Error, colon, followed by a space)Error *
" (Error, followed by a space and then some other character)An example:
Debug.WriteLine("Error: This line will be red Error: Error Jeff");
Upvotes: 8
Reputation: 7610
Actually there are extensions for that. I use the lite (free) version of VSCommands for Visual Studio 2010. With the Pro version a regex could be set to make the colouring. In the lite version I add "warning" text to the debug message and it is written in light brown.
Upvotes: 3
Reputation: 268
SetConsoleTextAttribute(hConsole, x)
Where k is an integer color value and hConsole is a standard output handle.
Upvotes: -2
Reputation: 42516
As far as I know, the output window in Visual Studio is a "simple textbox" type control that doesn't support colored text.
Upvotes: -1