Finestra immediata di Visual Studio: come visualizzare più dei primi 100 elementi


89

Sto cercando di vedere le proprietà di un oggetto con oltre 300 proprietà nella finestra immediata di Visual Studio 2005. Vengono visualizzati solo i primi 100 elementi, seguiti da questa didascalia:

 < More... (The first 100 of 306 items were displayed.) >

Sto cercando di vedere il resto degli elementi, ma non riesco a capirlo.

Mi rendo conto che potrei vederli in una finestra di controllo, ma non è la stessa cosa.

Risposte:


39

So che è tardi. Tuttavia, se aggiungi il tuo oggetto alla finestra di controllo. Espandi le proprietà, dove vengono visualizzate tutte. Quindi Ctrl-A e Copia. È quindi possibile incollare in Excel per ottenere un elenco organizzato di proprietà e dei relativi valori.


Mi sto sabotando da 5 anni non facendo questo.
secretwep

53

So che è successo quasi anni fa, ma oggi mi sono imbattuto in questo. A volte è utile vedere l'elenco nella finestra immediata piuttosto che guardare nella finestra di controllo. Puoi facilmente visualizzare più risultati rispetto ai primi 100 utilizzando:

yourList.Skip(100).ToArray()

Che in realtà non richiede molto tempo per scrivere e funziona bene - è stato utile per me.

Aggiornamento : come sottolineato nei commenti seguenti, questa risposta è in realtà sbagliata e applicabile SOLO alle raccolte e NON agli oggetti con molte proprietà. Lo lascio qui perché molte persone sembrano averlo trovato utile.


Grazie per aver aggiunto all'argomento. Come hai scoperto, a volte le "vecchie" domande hanno risposte ai problemi di oggi!
DOK

Non sei sicuro di cosa intendi per "tuaLista" qui? Intendi l'oggetto che sto cercando di vedere? In tal caso, non funziona per me in Visual Studio Pro 2013
Kunal

yourList sarebbe l'oggetto (raccolta) che stai tentando di visualizzare e di solito sarebbe di tipo IList <T> o IEnumerable <T>. Spero possa aiutare.
Ian Routledge

2
Immagino che funzioni se desideri visualizzare gli elementi rimanenti in una raccolta, ma questa risposta è inutile per Proprietà, come menzionato nelle domande originali. Non so perché questa sia la risposta scelta. La risposta di Gene Whitaker qui sotto è molto più utile IMO.
Simon ML

1
Giusto punto, hai ragione questa risposta è effettivamente sbagliata! Ho aggiunto un commento di aggiornamento - sentiti libero di modificare ecc.
Ian Routledge,

16

La finestra immediata è stata progettata per essere uno strumento di visualizzazione rapida. Se vuoi vedere più dettagli, dovrai visualizzarli nella finestra di controllo o nella finestra di controllo rapido.

Un'altra opzione è scrivere un componente aggiuntivo di Visual Studio che funzioni in modo simile alla finestra immediata, ma che abbia più opzioni.


Grazie. Speravo di aver appena trascurato qualcosa di semplice, qualcosa che non comporta così tanto clic, qualcosa che avrebbe reso facile scorrere centinaia di elementi. Penso che tu abbia individuato le migliori alternative.
DOK

1
@ DOK: C'è una risposta migliore a questa domanda ora che potrebbe essere degna di essere accettata.
Eric J.

@ Gabriel Era davvero progettato per essere uno strumento di visualizzazione rapida? Sembra essere molto di più, sebbene abbia ed sia utile per quella capacità. Mi sembra unico e utile per la valutazione, sia preveggente che speculativa. Credo che sia più di una macchina "What Is" con cui visualizzare, ma una macchina "What If" con cui esplorare.
G DeMasters

4

Creo sempre un metodo di estensione per esportare oggetti in xml durante il debug in questo modo. È molto utile per la risoluzione dei problemi dei dati degli oggetti. Ecco cosa uso:

public static void SerializeToXML(this object entity)
{
    System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(entity.GetType());

    System.IO.StreamWriter file = new System.IO.StreamWriter(string.Format(@"{0}\{1}.xml", Directory.GetCurrentDirectory(), entity.GetType().Name));
    writer.Serialize(file, entity);
    file.Close();
}

Non è una prova completa al 100%, ma il più delle volte è perfetto. Creerà un file xml nella directory dell'applicazione con il nome degli oggetti come nome del file. Nella finestra immediata puoi semplicemente digitare il nome dell'oggetto quindi .SerializeToXML ().

quindi: myList.SerializeToXML ()

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.