La primera respuesta funciona en cualquier versión posterior a 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 yo "ll hacer una extensión que mira a la RunningObjectTable para recoger 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);
}
}
}
I Han buscado en el pasado y se quedaron cortos. Ojalá alguien sea más persistente y pueda arrojar algo de luz ... –