【问题标题】:How to filter output in Visual Studio 2012+?如何在 Visual Studio 2012+ 中过滤输出?
【发布时间】:2015-07-24 13:59:43
【问题描述】:

我在 Visual Studio 2015 中检查 Debug.WriteLn 输出中的特定内容时遇到问题。(2012 和 2013 版本也是如此。)

XCode 和 Eclipse 都在 Output 窗口的顶部包含一个过滤器框。我试图为 Visual Studio 找到类似的扩展,但我没有运气。有什么办法可以有类似的功能和过滤输出窗口?

【问题讨论】:

标签: visual-studio visual-studio-debugging


【解决方案1】:

VS 中的各种服务写入输出窗口,因此有一个基于源的内置过滤器。您通常可以选择“构建输出”、“测试发现”、“常规”、“调试”等来源。

Debug.Write 调用被 VS 拦截,文本最终出现在输出窗口中,但没有内置过滤。

我可以想到 3 种方法来解决这个问题:

  1. 使用DbgView 拦截Debug.Write 消息,而不是让VS 拦截它们。 DbgView 具有非常强大的过滤和着色功能*
  2. 尝试this extension,根据正则表达式为输出着色
  3. 编写自己的扩展程序(没那么难!)

(*) 如果您沿着这条路线走,请注意 Debug.Write 只是一个跟踪,当您附加 VS 调试器时,它会将自己添加为跟踪列表。 DbgView 也一样。但是,当您分离时,它不会删除侦听器,并且消息将丢失。

【讨论】:

  • 感谢您的宝贵时间和回复!我尝试了 DbgView(具有管理员权限),但它没有打印与我的应用程序相关的任何内容。 (我启动和停止调试器,但它没有工作)。着色扩展很有用,但对我来说还不够,因为它仍然会填充输出窗口。奇怪的是没有人需要这个功能。我会尝试看看我是否可以快速编写一个扩展(虽然我还不知道如何):-/
  • 尝试在没有调试器(或根本没有 VS)的情况下运行您的应用程序,然后启动 dbgview。
  • 我保持 VS 打开但停止了调试器,DbgView 工作正常,我能够过滤它以进行测试。非常感谢。 (但同样,我希望有一天 VS 包含过滤功能,所以我可以动态使用 VS 的调试器)
  • 4 年后,这个功能仍然不存在,但现在我从@GrantTheAnt 的回答中发现了一个可以满足我需求的扩展。
【解决方案2】:

我用这个方法:

打开调试 - 输出窗口,只需右键单击窗口。

您可以根据需要勾选/取消勾选。

【讨论】:

  • 谢谢!这很有帮助。
【解决方案3】:

我刚刚在 VS 2017 中发现的一件事(我认为它也在其他版本中)是:

Tools | Options | Debugging | General > Redirect all Output Window text to the Immediate Window

这只会在即时窗口中为您提供程序的 Debug.WriteX 输出,而将所有其他垃圾留在输出窗口中,您可以将其关闭。

如果出于某种原因需要,我仍然可以查看输出窗口中的垃圾箱;它没有被压制。它只是没有进入即时窗口。

我只是将小即时窗口停靠在底部。

我认为这很好,因为所有垃圾都出现在输出窗口中,我真的没有比使用条款协议更关注输出(也就是说,几乎没有),所以婴儿被洗澡水扔出去了。但现在我实际上看到一些程序调试输出,你瞧,需要注意。

恕我直言,Microsoft 应该扩展输出窗口下拉框以包含 FetFrumos 在他的回答中指出的所有类别,因此开发人员可以将其设置为“程序输出”。我认为这将是一个很好的改进。

【讨论】:

    【解决方案4】:

    多年来,我一直想过滤 Visual Studio 输出。最终我决定写一个扩展来做这件事。有兴趣的可以关注niahtextfilter.com。

    以下是它的作用:

    【讨论】:

    • 这正是我想要的。 4年后。令人难以置信的是,微软还没有包含这个。
    • 仅供参考,扩展程序不是免费的。如果您想试用,有 30 天试用版。
    • 这个扩展有点笨拙,但它物有所值 IMO。我用它来调试在输出窗口中有大量垃圾邮件的项目,而其他开发人员并没有很注意使输出窗口可用于调试,它是一个救命稻草。
    猜你喜欢
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2021-05-16
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多