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 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 d'ajouter des 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 presque mot pour mot et ça marche, même si je voulais que l'accent soit remis là où il était. Voici la version C# très légèrement améliorée. Je l'active 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! */ }
Si vous avez plus d'une instance de VS ouverte, la loi de Murphy veut qu'elle efface l'autre et que vous essayiez de comprendre pourquoi elle ne fonctionne pas. En tout cas, c'est ce que je fais depuis 20 minutes.
Et maintenant ça marche, mais je pense que c'est seulement si VS est la fenêtre active. Si une autre fenêtre (par exemple le projet que je débogue) est active lorsque ce code est exécuté, j'obtiens "Exception from HRESULT : 0x80010001 (RPC_E_CALL_REJECTED)".
Vous avez raison. Si vous exécutez 2 instances, vous devez trouver un moyen rationnel de les différencier. J'imagine que vous devriez itérer toutes les fenêtres principales et vérifier celle qui a le ZOrder le plus élevé. J'ai cessé d'utiliser cette méthode il y a quelque temps parce que j'ai trouvé une meilleure solution. J'ai écrit ceci parce que Visual Studio vole le message Debug. Pour tous les autres outils, je les exécute via DbgView (SysInternals). J'ai écrit un processus dorsal qui les capture avant que Visual Studio ne les vole, et les transmet à DbgView, ce qui me permet de revenir à ce que je voulais au départ.
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 !