¿Existe un comando para borrar la ventana inmediata en Visual Studio?
Odio tener que agarrar el mouse para un menú de clic derecho allí; prefiero simplemente escribir "cls" o algo así.
¿Existe un comando para borrar la ventana inmediata en Visual Studio?
Odio tener que agarrar el mouse para un menú de clic derecho allí; prefiero simplemente escribir "cls" o algo así.
Respuestas:
Para borrar la ventana inmediata, puede usar >cls, que es un alias de comando predefinido para >Edit.ClearAll.
El artículo de MSDN enumera todos los alias predefinidos y también puede definir los suyos propios. (Para VS 2010 y anteriores, alias personalizados están descritos en un artículo separado, sin embargo.) Escaneo a través, hay una gran cantidad de ellos, algunos de los cuales podrían incluso tener sus raíces en MS-DOS DEBUG.EXE (específicamente >d, >g, >p, >q, y> tvienen a la mente).
También vale la pena señalar, ya que solo se deben presionar dos teclas: Menú contextual> Borrar todo invoca el mismo comando y se puede navegar usando el teclado. En la ventana inmediata, puede pulsar context-menu, L.
Si no tiene una context-menutecla en su teclado (ya sabe, la que está entre right-alty right-ctrl), puede usar shift+ en su F10lugar.
>es importante. No se me ocurrió una forma natural de hacerlo más explícito en la respuesta. Además, consulte Ventana inmediata en MSDN para obtener más sugerencias útiles.
>cls
parece que lo hace por mí.
Lo encontré...
"> Edit.ClearAll"
o
"> cls"
A continuación se explica cómo hacerlo en tiempo de ejecución:
Haga referencia a los dlls de EnvDTE en su aplicación.
Cree y luego use esta función según sea necesario.
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.0a VisualStudio.DTE.11.0y funcionó. También aquí encontré una sintaxis más corta de la misma respuesta: http://stackoverflow.com/a/16873888/2721611
Para Visual Studio 2012 utilizo:
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
para borrar automáticamente la ventana inmediata de los códigos (requiere agregar referencias DTE al proyecto). Si no funciona VisualStudio.DTE.8.0, intente VisualStudio.DTE.9.0, de ...acuerdo con su versión de Visual Studio.
Usé la última respuesta casi literalmente y funciona, aunque quería volver a centrarme en dónde estaba. Aquí está la versión de C # ligeramente mejorada. Lo habilito con un interruptor de configuración.
#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! */ }