Visual Studio немедленная команда окна для Очистить все - PullRequest
90 голосов
/ 03 апреля 2009

Есть ли команда для очистки непосредственного окна в Visual Studio?

Мне не нравится, когда нужно щелкать мышью для меню, вызываемого правой кнопкой мыши - лучше просто набрать "cls" или что-то еще.

Ответы [ 7 ]

119 голосов
/ 03 апреля 2009

Чтобы очистить ближайшее окно, вы можете использовать >cls, который является предопределенным псевдонимом команды от до >Edit.ClearAll.

В статье MSDN перечислены все предопределенные псевдонимы, и вы также можете определить свой собственный. (Для VS 2010 и более ранних версий пользовательские псевдонимы описаны в отдельной статье.) Сканирование, есть целый ряд их, некоторые из которых могут даже иметь свои корни в MS-DOS DEBUG.EXE (в частности, >d, >g, >p, >q и> t приходят на ум).


Также стоит отметить, так как для нажатия всего две клавиши: Контекстное меню> Очистить все вызывает одну и ту же команду, и ее можно перемещать с помощью клавиатуры. В появившемся окне вы можете нажать context-menu, L.

Если у вас на клавиатуре нет клавиши context-menu (вы знаете, что между right-alt и right-ctrl), вы можете использовать shift + F10 вместо .

47 голосов
/ 03 апреля 2009
>cls 

кажется, делает это для меня.

13 голосов
/ 17 сентября 2015
  1. Поместите курсор мыши в окно «Немедленно».
  2. Щелкните правой кнопкой мыши и выберите «Очистить все».
9 голосов
/ 03 апреля 2009

нашел его ...

"> Edit.ClearAll"

или

"> ЦБС"

3 голосов
/ 13 апреля 2012

Вот как это сделать во время выполнения:

  1. Ссылка на библиотеки EnvDTE в вашем приложении.

  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
1 голос
/ 13 февраля 2016

Для 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.0, VisualStudio.DTE.9.0, ... в соответствии с вашей версией Visual Studio.

0 голосов
/ 23 июля 2018

Я использовал последний ответ почти дословно, и он работает, хотя я хотел сосредоточиться на том, где он был. Вот очень немного улучшенная версия 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

...