好吧,我继承了一些代码,开始编写代码的人有一种压制异常的坏习惯,从而使我的生活变得困难。因此,当我查看代码时,我试图在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;
}
答案 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")