Visual Studio Immediate window: how to see more than the first 100 items

纵饮孤独 提交于 2020-01-22 10:08:08

问题


I am trying to see the properties of an object with over 300 properties in the Immediate Window of Visual Studio 2005. Only the first 100 items are displayed, followed by this caption:

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

I am trying to see the rest of the items, but can't figure it out.

I realize that I could see these in a Watch window, but that's not the same.


回答1:


I know this is way late. However, If you add your object to the watch window. Expand the properties, where all are displayed. Then Ctrl-A and Copy. You can then paste in excel to get an organized list of properties and their values.




回答2:


I know this was almost to years ago, but I came up against this today. Sometimes its useful to see the list in the immediate window rather than looking in the watch window. You can easily see more results than the first 100 by using:

yourList.Skip(100).ToArray()

Which really doesn't take long to write and works well - was useful for me.

Update: As pointed out in the comments below, this answer is actually wrong and applicable ONLY to collections and NOT to objects with lots of properties. I'm leaving it here as lots of people seem to have found it useful.




回答3:


The immediate window was designed to be a quick view tool. If you want to see more detail, you will have to view it in either the Watch Window or the Quick Watch Window.

Another option is to write a Visual Studio AddIn that operates similarly to the Immediate Window, but has more options.




回答4:


I always create an extension method to export objects to xml when debugging like this. It's very useful for troubleshooting object data. Here is what I use:

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

It's not 100% full proof, but most of the time it is perfect. It will create an xml file in the application directory with the objects name as the file name. In the immediate window you can just type the object name then .SerializeToXML().

so: myList.SerializeToXML()



来源:https://stackoverflow.com/questions/1785745/visual-studio-immediate-window-how-to-see-more-than-the-first-100-items

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!