Existe-t-il une commande pour effacer la fenêtre immédiate dans Visual Studio ?
Je déteste avoir à saisir la souris pour un menu de clic droit à cet endroit - je préférerais simplement taper "cls" ou autre.
Existe-t-il une commande pour effacer la fenêtre immédiate dans Visual Studio ?
Je déteste avoir à saisir la souris pour un menu de clic droit à cet endroit - je préférerais simplement taper "cls" ou autre.
Pour effacer la fenêtre immédiate, vous pouvez utiliser >cls
qui est une valeur prédéfinie alias de commande à >Edit.ClearAll
.
L'article de MSDN liste tous les alias prédéfinis et vous pouvez également définir les vôtres. (Pour VS 2010 et antérieurs, alias personnalisés sont cependant décrits dans un autre article). En les parcourant, on en trouve toute une série, dont certaines pourraient même avoir leurs racines dans le DEBUG.EXE de MS-DOS (spécifiquement >d
, >g
, >p
, >q
et > t
me viennent à l'esprit).
A noter également, qu'il n'y a que deux touches à presser : Le menu contextuel > Tout effacer invoque la même commande et il est possible d'y naviguer à l'aide du clavier. Dans la fenêtre immédiate, vous pouvez appuyer sur context-menu
, L
.
Si vous n'avez pas de context-menu
clé sur votre clavier (vous savez, celui entre right-alt
et right-ctrl
), vous pouvez utiliser shift
+ F10
à la place.
J'utilise normalement la touche contextuelle lorsque je suis au bureau, mais je travaille depuis quelques mois sur un ordinateur portable depuis le bureau d'un client, et je n'ai pas la touche contextuelle sur celui-ci. Cela m'a finalement dérangé suffisamment pour chercher une solution...
Le site >
est important. Je n'ai pas trouvé de moyen naturel de le rendre plus explicite dans la réponse. Voir aussi Fenêtre immédiate sur MSDN pour d'autres conseils utiles.
Voici comment le faire au moment de l'exécution :
Référencez les dlls EnvDTE dans votre application.
Créez et utilisez ensuite 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
Cela ne fonctionne pas pour moi. L'erreur est : "Une exception de première chance de type 'System.Runtime.InteropServices.COMException' s'est produite dans mscorlib.dll" en récupérant l'objet de Marshal.
Ma version de visual studio est 2012 donc j'ai changé VisualStudio.DTE.10.0
à VisualStudio.DTE.11.0
et ça a marché. J'ai également trouvé ici une syntaxe plus courte de la même réponse : http://stackoverflow.com/a/16873888/2721611
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
14 votes
Je n'avais pas réalisé qu'il y avait un menu de clic droit !