Чи є команда очистити безпосереднє вікно у Visual Studio?
Я ненавиджу захоплювати мишу для меню правою кнопкою миші там - швидше просто введіть "cls" або щось таке.
Чи є команда очистити безпосереднє вікно у Visual Studio?
Я ненавиджу захоплювати мишу для меню правою кнопкою миші там - швидше просто введіть "cls" або щось таке.
Відповіді:
Щоб очистити негайне вікно, ви можете використовувати >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
.
>
значення. Не міг придумати природний спосіб зробити це більш явним у відповіді. Також див. Негайне вікно на MSDN для отримання більш корисних порад.
>cls
здається, це роблять для мене.
знайшов це...
"> Редагувати. Очистити все"
або
"> cls"
Ось як це зробити під час виконання:
Посилайтеся на додатки EnvDTE у вашій програмі.
Створіть та використовуйте цю функцію за необхідності.
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
VisualStudio.DTE.10.0
до VisualStudio.DTE.11.0
і він працював. Також тут я знайшов коротший синтаксис тієї самої відповіді: http://stackoverflow.com/a/16873888/2721611
Для візуальної студії 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
, в ...
відповідно до вашої візуальної версії студії.
Останню відповідь я використав саме про дослівно, і вона працює, хоча хотіла зосередитися на тому, де вона була. Ось трохи покращена версія 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! */ }