如何从c#向Visual Studio输出窗口写入彩色文本?

时间:2010-03-11 16:13:29

标签: c# visual-studio

我想从c#中将颜色文本写入Visual Studio输出窗口。我想从单元测试中输出红色代码。

7 个答案:

答案 0 :(得分:2)

实际上有扩展。我使用VSCommands for Visual Studio 2010的精简(免费)版本。使用Pro版本可以设置正则表达式进行着色。在lite版本中,我将“警告”文本添加到调试消息中,并以浅棕色写入。

答案 1 :(得分:2)

我在试图弄清楚为什么Visual Studio 2017输出窗口中的某些文本行被涂成红色以及如何完成同一件事时发现了这个问题。

我发现我可以写出包含以下内容的行来获得红色文本:

  • Error:”的实例(错误,冒号,后跟一个空格)
  • (其他字符可以在这里输入)
  • Error:”的另一个实例(错误,冒号,后跟一个空格)
  • (其他字符可以在这里输入)
  • 后跟1个“ Error *”实例(错误,后跟一个空格,然后是其他一些字符)
  • (其他字符可以在这里输入)

一个例子:

Debug.WriteLine("Error: This line will be red Error: Error Jeff");

答案 2 :(得分:1)

据我所知,Visual Studio中的输出窗口是一个“简单文本框”类型控件,不支持彩色文本。

答案 3 :(得分:1)

据我所知,你不能这样做。您可以更改控制台的字体颜色,但它对Visual Studio的输出窗口没有影响。

更改文字颜色的唯一方法是通过工具 - >选项 - >字体和颜色,这会影响发送到窗口的所有文字。

答案 4 :(得分:1)

除了Jeff Roe,我还设法做到了:

警告: Console.WriteLine($"Warning: Warning '{message}'");

错误: Console.WriteLine($"Error: Error '{message}'");

enter image description here

可悲的是,我无法弄清楚如何获得绿色输出。 如果可以的话,我会非常高兴!

答案 5 :(得分:0)

实际上,这很简单。见下文:

 Console.ForegroundColor = ConsoleColor.Magenta; //Choose from the Enum
 Console.WriteLine("This message is to be in Magenta!");
 Console.ResetColor();//Reset to default

答案 6 :(得分:-2)

SetConsoleTextAttribute(hConsole, x)

其中k是整数颜色值,hConsole是标准输出句柄。

More Here - easier commands