¿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> t
vienen 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-menu
tecla en su teclado (ya sabe, la que está entre right-alt
y right-ctrl
), puede usar shift
+ en su F10
lugar.
>
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.0
a VisualStudio.DTE.11.0
y 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! */ }