用于全部清除的Visual Studio立即窗口命令

时间:2009-04-03 15:39:07

标签: visual-studio visual-studio-2008 immediate-window

是否有命令清除Visual Studio中的即时窗口?

我讨厌在那里抓住鼠标右键菜单 - 宁愿只输入“cls”或其他东西。

8 个答案:

答案 0 :(得分:119)

要清除即时窗口,您可以使用>cls,这是预定义的command alias>Edit.ClearAll

The MSDN article列出了所有预定义的别名,您也可以定义自己的别名。 (对于VS 2010及更早版本,custom aliases在另一篇文章中进行了描述。)扫描,其中有一大堆,其中一些甚至可能源于MS-DOS DEBUG.EXE(具体来说{我会想到{1}},>d>g>p和> >q


另外值得注意的是,因为它只需要按两个键:上下文菜单> Clear All调用相同的命令,可以使用键盘进行导航。在即时窗口中,您可以按tcontext-menu

如果键盘上没有context-menu key(您知道Lright-alt之间的那个),则可以使用right-ctrl + {{1相反。

答案 1 :(得分:47)

>cls 

似乎是为我做的。

答案 2 :(得分:13)

  1. 将鼠标光标放在立即窗口中。
  2. 右键单击鼠标并选择"全部清除"。

答案 3 :(得分:9)

发现它......

“> Edit.ClearAll”

“> CLS”

答案 4 :(得分:3)

以下是如何在运行时执行此操作:

  1. 在您的应用程序中引用EnvDTE dll。

  2. 根据需要创建并使用此功能。

  3. Public Sub ClearImmediateWindow()
      Try
        Dim vsWindowKindImmediateWindow As String _ 
              = "{ECB7191A-597B-41F5-9843-03A4CF275DDE}"
        Try
          Dim obj As Object = System.Runtime.InteropServices.Marshal._ 
                              GetActiveObject("VisualStudio.DTE.10.0")
          If obj IsNot Nothing Then
            Dim DTE2 As EnvDTE80.DTE2 = CType(obj, EnvDTE80.DTE2)
            For Each wndw As EnvDTE.Window In DTE2.Windows
              If wndw.ObjectKind = vsWindowKindImmediateWindow Then
                wndw.Activate()
                DTE2.ExecuteCommand("Edit.ClearAll")
                Exit For
              End If
            Next
          End If
        Catch comEx As COMException
          ' Not running from within the VS IDE?
        Catch ex As Exception
          Throw ex
        End Try
      Catch ex As Exception
        ' Handle this as you desire.
      End Try
    End Sub
      End Sub
    

答案 5 :(得分:1)

对于visual studio 2012,我使用:

Public Sub ClearImmediateWindow()
    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)
End Sub

自动清除代码中的即时窗口(需要将DTE引用添加到项目中)。如果不起作用,请根据您的visual studio版本尝试VisualStudio.DTE.8.0VisualStudio.DTE.9.0...

答案 6 :(得分:0)

我只使用了逐字记录的最后一个答案,它可以工作,尽管我希望将注意力集中在原来的位置上。这是经过稍微改进的C#版本。我可以通过配置开关启用它。

#if DEBUG
    if (GetIni("Debug", "ClearImmediateWindow", true)) {
        try {
            var dte = (EnvDTE.DTE) Marshal.GetActiveObject("VisualStudio.DTE.15.0");
            var me  = dte.ActiveWindow;
            dte.Windows.Item("Immediate Window").Activate();
            dte.ExecuteCommand("Edit.ClearAll");
            me.Activate();
        }
        catch { /* Meh! */ }

endif

答案 7 :(得分:0)

那些想知道如何在 Visual Studio Mac 上清除即时窗口的人,只需在窗口内右键单击并选择选项清除