在Visual Studio中,是否有可能通过编程的方式清除输出窗口?

12
你知道在 Visual Studio 中,是否有一种方法可以在调试时通过编程方式清除 输出窗口 的代码吗?
或者你知道一些快速的替代方案,比如快捷键吗?

@mafutrct可能是一个想法,但我从未尝试过,我需要调查一下。 - Drake
4个回答

8

宏:

Sub ClearOutputWindow()
    DTE.ExecuteCommand("Edit.ClearOutputWindow")
End Sub

只需为此分配快捷键。

编辑:其他可能性


1
清除VS2010中的立即窗口内容。
    Dim dte = Marshal.GetActiveObject("VisualStudio.DTE.10.0")
    Dim ide As EnvDTE80.DTE2 = dte
    Dim currentActiveWindow = dte.ActiveWindow
    dte.Windows.Item("{ECB7191A-597B-41F5-9843-03A4CF275DDE}").Activate() 'Activate Immediate Window  
    dte.ExecuteCommand("Edit.SelectAll")
    dte.ExecuteCommand("Edit.ClearAll")
    currentActiveWindow.Activate()

    Marshal.ReleaseComObject(dte)

0

输出窗口功能已在此处有文档记录,一些人正在讨论如何访问输出窗口这里,因此我认为您可以通过编程来清除它。


第一个示例展示了如何与输出窗口进行交互,但我认为我需要自己创建一个插件来完成它;第二个链接基于CodeRush,我会研究一下。同时,如果您知道更简单的方法... - Drake

0

我已经将不可读的"{ECB7191A-597B-41F5-9843-03A4CF275DDE}" GUID代码从smirkingman的答案中更改为"Immediate Window",并且它也起作用了(同时删除了我自己的不必要的代码):

Dim dte As EnvDTE80.DTE2 = Marshal.GetActiveObject("VisualStudio.DTE.11.0")
dte.Windows.Item("Immediate Window").Activate() 'Activate Immediate Window  
dte.ExecuteCommand("Edit.SelectAll")
dte.ExecuteCommand("Edit.ClearAll")
Marshal.ReleaseComObject(dte)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接