111

Visual Studio で即時ウィンドウをクリアするコマンドはありますか?

そこで右クリック メニューを表示するためにマウスをつかむ必要はありません。「cls」などと入力するだけです。

4

8 に答える 8

150

即時ウィンドウをクリアするには、 を使用できます>cls。これは、 の定義済みコマンド エイリアスです>Edit.ClearAll

MSDN の記事には、定義済みのすべてのエイリアスが一覧表示されており、独自のエイリアスを定義することもできます。(ただし、VS 2010 以前では、カスタム エイリアスについては別の記事で説明されています。) ざっと見てみると、大量のエイリアスがあり、そのうちのいくつかは、MS-DOS DEBUG.EXE (具体的>d>gは、、、、、と >頭に浮かびます)。>p>qt


また、押すキーは 2 つだけなので、注目に値します: コンテキスト メニュー > [すべてクリア] は同じコマンドを呼び出し、キーボードを使用してナビゲートできます。Context Menuしたがって、イミディエイト ウィンドウでは、 、を押すことができますL

キーボードにキー ( と の間のcontext-menuキー)がない場合は、代わりに+を使用できます。Right AltRight CtrlShiftF10

于 2009-04-03T15:45:56.807 に答える
50
>cls 

私のためにそれをしているようです。

于 2009-04-03T15:53:51.080 に答える
12

それを見つけた...

">Edit.ClearAll"

また

">cls"

于 2009-04-03T15:42:19.420 に答える
3

実行時にそれを行う方法は次のとおりです。

  1. アプリケーションで EnvDTE dll を参照します。

  2. 必要に応じてこの関数を作成して使用してください。

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
于 2012-04-13T03:19:24.853 に答える
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.0,を試してください。VisualStudio.DTE.9.0...

于 2016-02-13T00:59:34.607 に答える
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! */ }

終了

于 2018-07-22T21:07:49.960 に答える