vscode visual temas studio para fuente español configurar color code cambiar bootstrap visual-studio debugging consoleappender

temas - ¿Se puede borrar la ventana de salida de Visual Studio(depuración) de forma programática?



visual studio code bootstrap intellisense (4)

¿Es posible tener una forma de borrar la ventana de Visual Studio OUTPUT , programáticamente? Por ejemplo, la aplicación de depuración SysInternal llamada DebugView tiene el comando específico llamado DBGVIEWCLEAR .. que borra la ventana de registro.

Por favor, no diga: haga clic con el botón derecho, borre la ventana ... con el mouse. Lo sé, pero eso no es lo que busco.



Para VS 2008 prueba este código

EnvDTE80.DTE2 ide = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.9.0"); ide.ExecuteCommand("Edit.ClearOutputWindow", ""); System.Runtime.InteropServices.Marshal.ReleaseComObject(ide);

"VisualStudio.DTE.9.0" cambiará de la versión VS a la versión.


La primera respuesta funciona en cualquier versión después de Visual Studio 2005, pero parece un poco escamosa. Tuve que retrasar 1 segundo antes de borrar la consola y no pude conseguir nada mejor que eso. No tengo idea por qué, pero es mejor que nada. También solo funciona si solo está ejecutando una instancia de Visual Studio. Tal vez haga una extensión que mire en la tabla de RunningObject para elegir la versión correcta.

En cualquier caso, esto funciona más o menos.

using System; using System.Diagnostics; using System.Runtime.InteropServices; using System.Threading; using System.Windows.Forms; namespace VisualStudioHelper { public class VstHelper { // Add a Project Reference to "Microsoft Development Environment Properties 8.0" // (the one for Visual Studio, not SQL Server) public static void VstClearOutputWindow() { if (!Debugger.IsAttached) return; Application.DoEvents(); Thread.Sleep(1000); EnvDTE80.DTE2 ide = (EnvDTE80.DTE2)Marshal.GetActiveObject("VisualStudio.DTE.10.0"); ide.ExecuteCommand("Edit.ClearOutputWindow", ""); Marshal.ReleaseComObject(ide); } } }


Para VS 2010:

//Add reference EnvDTE100 static void ClearOutput() { EnvDTE80.DTE2 ide = (EnvDTE80.DTE2)Marshal.GetActiveObject("VisualStudio.DTE.10.0"); ide.ToolWindows.OutputWindow.ActivePane.Clear(); }