web-dev-qa-db-ja.com

すべてクリアのVisual Studioイミディエイトウィンドウコマンド

Visual Studioでイミディエイトウィンドウをクリアするコマンドはありますか?

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

93
Scott Ivey

イミディエイトウィンドウをクリアするには、>cls、事前定義された コマンドエイリアス to >Edit.ClearAll

MSDNの記事 にはすべての定義済みエイリアスがリストされており、独自のエイリアスも定義できます。 (VS 2010以前の場合、 カスタムエイリアス は別の記事に記載されています。)スキャンすると、それらの多くがあり、その一部はMS-DOS DEBUGにルーツを持つことさえあります。 EXE(具体的には>d>g>p>q、および> tが思い浮かびます)。


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

context-menu key キーボード(知っている、right-altおよびright-ctrl)、shift + F10代わりに。

124
lc.
>cls 

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

48
Martin Brown
  1. イミディエイトウィンドウにマウスカーソルを置きます。
  2. マウスを右クリックして、「すべてクリア」を選択します。
15
rossco78

それを見つけた...

"> Edit.ClearAll"

または

「> cls」

10
Scott Ivey

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

  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
3
user1330634

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参照を追加する必要があります)。うまくいかない場合は、VisualStudio.DTE.8.0VisualStudio.DTE.9.0...ご使用のVisual Studioバージョンに応じて。

1

私は最後の答えを逐語的に使用しましたが、うまくいきましたが、どこに戻ったかに焦点を当てたいと思いました。これは、わずかに改善された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! */ }

エンディフ

0
Wade Hatler