Вікно 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.