Existe-t-il une commande pour effacer la fenêtre immédiate dans Visual Studio?
Je déteste avoir à prendre la souris pour un menu clic droit - préférerais simplement taper "cls" ou quelque chose.
Pour effacer la fenêtre immédiate, vous pouvez utiliser >cls
, qui est un alias de commande prédéfini à >Edit.ClearAll
.
L'article MSDN répertorie tous les alias prédéfinis et vous pouvez également définir le vôtre. (Pour VS 2010 et les versions antérieures, custom aliases sont décrits dans un article séparé, cependant.) En parcourant, il y en a toute une série, dont certaines pourraient même avoir leurs racines dans MS-DOS DEBUG.EXE (plus précisément >d
, >g
, >p
, >q
et> t
me viennent à l'esprit).
À noter également, car il suffit d'appuyer sur deux touches: Menu contextuel> Tout effacer pour invoquer la même commande, qui permet de naviguer à l'aide du clavier. Dans la fenêtre immédiate, vous pouvez appuyer sur context-menu
, L
.
Si vous n'avez pas de touche context-menu
sur votre clavier (vous savez, celle entre right-alt
et right-ctrl
), vous pouvez utiliser shift
+ F10
à la place.
>cls
semble le faire pour moi.
je l'ai trouvé ...
"> Edit.ClearAll"
ou
"> cls"
Voici comment le faire au moment de l'exécution:
Référencez les DLL EnvDTE dans votre application.
Créez puis utilisez cette fonction si nécessaire.
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
Pour visual studio 2012, j'utilise:
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
pour effacer automatiquement la fenêtre immédiate des codes (nécessite l'ajout de références DTE au projet). Si cela ne fonctionne pas, essayez VisualStudio.DTE.8.0
, VisualStudio.DTE.9.0
, ...
en fonction de votre version de visual studio.
J'ai utilisé la dernière réponse à peu près verbatim et cela a fonctionné, même si je voulais revenir sur l'endroit où elle se trouvait. Voici la version très légèrement améliorée de C #. Je l'activer avec un commutateur de configuration.
#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! */ }