使用代码在Visual Studio调试控制台中更改颜色

时间:2014-06-10 17:43:58

标签: c# winforms visual-studio-2010 debugging console

好吧,我继承了一些代码,开始编写代码的人有一种压制异常的坏习惯,从而使我的生活变得困难。因此,当我查看代码时,我试图在catch块中抛出一些东西,这样我就可以弄清楚发生了什么。由于这是一个Windows窗体应用程序,我无法写入控制台本身,但我可以写入调试控制台。当我点击其中一个(先前)压制的异常时,我想更改文本前景色,这样我就可以在调试时轻松选择它们。当然,写入调试控制台的另一个原因是客户在最终设计中看不到这些消息。有没有办法做到这一点?我已经尝试了以下代码,但它并没有这么做。

catch 
     {
        ConsoleColor tempColor = Console.ForegroundColor;
        StackTrace stackTrace = new StackTrace();
        Console.ForegroundColor = ConsoleColor.Red;
        System.Diagnostics.Debug.WriteLine("Exception Thrown: " + stackTrace.GetFrame(0).GetMethod().ToString());
        Console.ForegroundColor = tempColor;
     }

2 个答案:

答案 0 :(得分:4)

似乎没有任何方法可以改变颜色。

但是,使用WriteLine方法的类别选项可以设置标题行和消息行的格式:

Debug.WriteLine("\n\tError Message","Error Message 1");

输出应该是这样的:

Error Message 1:
    Error Message

答案 1 :(得分:3)

它可能为时已晚,但有一个工具(我没试过:() https://marketplace.visualstudio.com/items?itemName=MikeWard-AnnArbor.VSColorOutput

我使用http://前缀来使我的debug.writeline消息着色。

Debug.WriteLine("http://MyMessage")