Esiste un comando per cancellare la finestra immediata in Visual Studio?
Odio dover afferrare il mouse per un menu di scelta rapida lì - preferirei semplicemente digitare "cls" o qualcosa del genere.
Esiste un comando per cancellare la finestra immediata in Visual Studio?
Odio dover afferrare il mouse per un menu di scelta rapida lì - preferirei semplicemente digitare "cls" o qualcosa del genere.
Risposte:
Per cancellare la finestra immediata, è possibile utilizzare >cls, che è un alias di comando predefinito per >Edit.ClearAll.
L'articolo di MSDN elenca tutti gli alias predefiniti e puoi anche definirne uno personalizzato. (Per VS 2010 e in precedenza, alias personalizzati sono descritti in un articolo a parte, però.) La scansione attraverso, c'è una grande quantità di loro, alcune delle quali potrebbero anche avere le loro radici in MS-DOS DEBUG.EXE (in particolare >d, >g, >p, >q, e> tvieni in mente).
Vale anche la pena notare, poiché sono solo due i tasti da premere: Il menu contestuale> Cancella tutto richiama lo stesso comando e può essere navigato utilizzando la tastiera. Nella finestra immediata, è possibile premere context-menu, L.
Se non hai un context-menutasto sulla tastiera (sai, quello tra right-alte right-ctrl), puoi invece usare shift+ F10.
>è importante. Impossibile pensare a un modo naturale per renderlo più esplicito nella risposta. Inoltre, vedere Finestra immediata su MSDN per suggerimenti più utili.
>cls
sembra farlo per me.
trovato...
"> Modifica.Cancella tutto"
o
"> cls"
Ecco come farlo in fase di esecuzione:
Fare riferimento alle DLL EnvDTE nell'applicazione.
Creare e quindi utilizzare questa funzione secondo necessità.
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.0per VisualStudio.DTE.11.0e ha funzionato. Anche qui ho trovato una sintassi più breve della stessa risposta: http://stackoverflow.com/a/16873888/2721611
Per visual studio 2012 utilizzo:
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
per cancellare automaticamente la finestra immediata dai codici (richiede l'aggiunta di riferimenti DTE al progetto). Se non funziona VisualStudio.DTE.8.0, prova VisualStudio.DTE.9.0, ...secondo la versione del tuo studio visivo.
Ho usato l'ultima risposta quasi letteralmente e funziona, anche se volevo concentrarmi di nuovo su dove si trovava. Ecco la versione C # leggermente migliorata. Lo abilito con un interruttore di configurazione.
#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! */ }