Вікно Visual Studio негайного: як переглянути більше, ніж перші 100 елементів


88

Я намагаюся побачити властивості об'єкта з понад 300 властивостями у Безпосередньому вікні Visual Studio 2005. Відображаються лише перші 100 елементів, а потім такий підпис:

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

Я намагаюся побачити решту предметів, але не можу зрозуміти.

Я розумію, що бачив їх у вікні годинника, але це не одне і те ж.

Відповіді:


38

Я знаю, що це вже пізно. Однак якщо ви додасте свій об'єкт у вікно годинника. Розгорніть властивості, де відображаються всі. Потім Ctrl-A та Копіювати. Потім ви можете вставити в Excel, щоб отримати упорядкований список властивостей та їх значень.


Я вже 5 років саботую себе, не роблячи цього.
secretwep

53

Я знаю, що це було майже кілька років тому, але сьогодні я виступив проти цього. Іноді корисно переглянути список у безпосередньому вікні, а не дивитись у вікно годинника. Ви можете легко побачити більше результатів, ніж перші 100, використовуючи:

yourList.Skip(100).ToArray()

Яке насправді не довго пише, а працює добре - мені було корисно.

Оновлення : Як зазначено в коментарях нижче, ця відповідь насправді неправильна і застосовується ТІЛЬКИ до колекцій, а НЕ до об’єктів з великою кількістю властивостей. Я залишаю це тут, оскільки багато людей вважають це корисним.


Дякуємо за додавання до теми. Як ви виявили, іноді "старі" запитання мають відповіді на сьогоднішні проблеми!
DOK

Не знаєте, що ви маєте тут на увазі під «вашим списком»? Ви маєте на увазі об’єкт, який я намагаюся переглянути? Якщо так, це не працює для мене у Visual Studio Pro 2013
Kunal,

yourList - це об’єкт (колекція), який ви намагаєтеся переглянути, і, як правило, має тип IList <T> або IEnumerable <T>. Сподіваюся, що це допомагає.
Ian Routledge

2
Я думаю, це працює, якщо ви хочете відобразити решту елементів у колекціях, але ця відповідь марна для Властивостей, як згадувалося в оригінальних питаннях. Не знаю, чому це обрана відповідь. Відповідь Джина Уітакер набагато корисніша ІМО.
Саймон МЛ

1
Чесно, ви праві, ця відповідь насправді неправильна! Додали коментар до оновлення - не соромтеся вносити зміни тощо
Ian Routledge

16

Безпосереднє вікно було розроблено як інструмент швидкого перегляду. Якщо ви хочете побачити більше деталей, вам доведеться переглянути це або у Вікні спостереження, або у Вікні швидкого перегляду.

Інший варіант - написати Visual Studio AddIn, який працює подібно до безпосереднього вікна, але має більше можливостей.


Дякую. Я сподівався, що щойно пропустив щось просте, щось, що не передбачає стільки натискань, щось, що полегшить прокручування сотень елементів. Думаю, ви визначили найкращі альтернативи.
DOK

1
@DOK: Зараз на це питання є краща відповідь, яка, можливо, варта прийняття.
Eric J.

@Gabriel Чи справді це було розроблено, щоб бути інструментом швидкого перегляду? Здається, це набагато більше, ніж це, хоча воно має та корисно для цієї можливості. Це здається унікальним і корисним для мене як для оцінки, так і передбачуваного. Я вважаю, що це більше, ніж машина "Що таке", з якою можна переглядати, але машина "Що якщо", за допомогою якої можна дослідити.
G DeMasters

4

Я завжди створюю метод розширення для експортування об'єктів у xml при такій налагодженні. Це дуже корисно для усунення несправностей даних об'єктів. Ось що я використовую:

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();
}

Це не 100% повний доказ, але в більшості випадків він ідеальний. Він створить файл xml у каталозі програми з іменем об’єктів як ім’я файлу. У безпосередньому вікні ви можете просто ввести ім'я об'єкта, а потім .SerializeToXML ().

так: myList.SerializeToXML ()

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.