2011-09-25 26 views
5

http://i.minus.com/ibsHfIOAy7lBCj.pngDebug.WriteLine su "canale" diverso?

voglio scrivere un po 'di roba per la finestra di uscita di VS così posso vedere quello che sta succedendo, ma semplicemente viene invaso con tutte queste altre cose . C'è un modo per scrivere su un "canale" diverso? C'è quel dropdown lì, che vedo che anche AnkhSVN si è aggiunto da solo ... posso aggiungerne un altro con solo le mie cose lì dentro?

risposta

4

Utilizzare Trace per questo. Avrai un file App.config o un file Web.config nel progetto in esecuzione. In questo file aggiungi un trace listener.

Quando si chiama trace, che è molto simile a Debug, è possibile specificare il livello (Info, Warning, Debug, Error). In base a questo livello puoi decidere dove e come tali informazioni vengono salvate.

How to Trace and Debug in Visual Studio

+0

Nope. È un'estensione VSX. Tutto quello che ho è 'source.extension.vsixmanifest'. – mpen

+0

Ah! Pensavo che la tua domanda fosse troppo facile. Per quanto ne so, tutto il codice .NET in esecuzione ha un file di configurazione da qualche parte, forse puoi dargli la caccia? Altrimenti suggerirei qualcosa come [log4net] (http://logging.apache.org/log4net/) o [nlog2] (http://nlog-project.org/) - un logger di terze parti. Abbiamo avuto molto successo con nlog2. –

4

È possibile utilizzare il "Redirect tutto il testo finestra di output alla Finestra Immediata" opzione:

Redirect Ouput to Immediate

anche se si dice tutto, sarà reindirizzare solo Debug.WriteLine, etc.

In alternativa è possibile eliminare i messaggi rumorosi dalla finestra di output stessa:

enter image description here

+0

Che cos'è la "Finestra Immediata"? Dove reindirizzerebbe esattamente i miei messaggi di debug? – mpen

+0

È un'altra finestra degli strumenti come la finestra di output. Mostralo con "Debug -> Windows -> Immediato" o "Ctrl + Alt + I'. –

+0

Disattivando * all * le impostazioni di output generali hanno ridotto notevolmente la quantità di output ..... ma non riesco a liberarmi di questa roba http://i.imgur.com/sX75Y.png – mpen

1

Se si crea uno studio addin visiva (in difetto) si avrà un Connect.cs con un pubblico OnConnection void (applicazione oggetto, ext_ConnectMode connectMode, oggetto addInInst, ref Array personalizzato)

Puoi usare questo oggetto applicazione per fare ciò che vuoi fare.

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

Ora è possibile utilizzare:

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

E questo testo apparirà nel "canale" chiamato "XXX"

Problemi correlati