2011-09-25 9 views
5

http://i.minus.com/ibsHfIOAy7lBCj.pngDebug.WriteLine a diferente "canal"?

quiero escribir algunas cosas a la ventana de salida de VS para que pueda ver lo que está pasando, pero simplemente se inunda con todas estas otras cosas . ¿Hay alguna forma en que pueda escribir en un "canal" diferente? Tiene ese menú desplegable allí, y veo que AnkhSVN también se ha agregado a sí mismo ... ¿puedo agregar otro con solo mis cosas allí quizás?

Respuesta

4

Use el Rastreo para esto. O bien tendrá un archivo App.config o un archivo Web.config en el proyecto que se está ejecutando. En este archivo, agregue un trace listener.

Cuando llama a trace, que es muy similar a Debug, puede especificar el nivel (información, advertencia, depuración, error). En función de este nivel, puede decidir dónde y cómo se guarda esa información.

How to Trace and Debug in Visual Studio

+0

Nop. Es una extensión VSX. Todo lo que tengo es 'source.extension.vsixmanifest'. – mpen

+0

¡Ah! Pensé que tu pregunta era demasiado fácil. Por lo que sé, todo el código .NET en ejecución tiene un archivo de configuración en alguna parte, ¿quizás puede cazarlo? De lo contrario, sugeriría algo como [log4net] (http://logging.apache.org/log4net/) o [nlog2] (http://nlog-project.org/) - un registrador de terceros. Hemos tenido mucho éxito con nlog2. –

4

Puede utilizar el "redirigir todo el texto de la ventana de salida a la ventana Inmediato" opción:

Redirect Ouput to Immediate

Aunque dice todo, un viaje de solo redirigir Debug.WriteLine, etc.

Como alternativa, puede suprimir los mensajes ruidosos de la ventana de salida en sí:

enter image description here

+0

¿Qué es la "Ventana Inmediata"? ¿Dónde redirigiría mis mensajes de depuración exactamente? – mpen

+0

Es otra ventana de herramienta como la ventana de salida. Muéstrelo con "Depurar -> Windows -> Inmediato" o "Ctrl + Alt + I". –

+0

Apagar * todas * la configuración general de salida disminuyó considerablemente la cantidad de salida ..... pero parece que no puedo deshacerme de estas cosas http://i.imgur.com/sX75Y.png – mpen

1

Si crea un complemento de Visual Studio (en mora) que tendrá una Connect.cs con un OnConnection public void (aplicación de objeto, ext_ConnectMode connectMode, objeto addInInst, a medida Matriz ref)

Puede usar este objeto de aplicación para hacer lo que quiere hacer.

DTE2 app = (DTE2)application; 
OutputWindowPane XXX = app.ToolWindows.OutputWindow.OutputWindowPanes.Add("XXX"); 

Ahora puede utilizar:

XXX.OutputString("some text" + Environment.NewLine); 

Y este texto aparecerá en el "canal" llamado "XXX"

Cuestiones relacionadas