web-dev-qa-db-ja.com

Visual Studioイミディエイトウィンドウ:最初の100アイテム以上を表示する方法

Visual Studio 2005のイミディエイトウィンドウで300を超えるプロパティを持つオブジェクトのプロパティを表示しようとしています。最初の100項目のみが表示され、このキャプションが続きます。

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

残りのアイテムを表示しようとしていますが、わかりません。

これらはウォッチウィンドウで見ることができると思いますが、それは同じではありません。

76
DOK

私はこれがかなり遅いことを知っています。ただし、オブジェクトをウォッチウィンドウに追加する場合。すべてを表示するプロパティを展開します。次に、Ctrl-Aとコピー。その後、Excelに貼り付けて、プロパティとその値の整理されたリストを取得できます。

22
Gene Whitaker

私はこれがほぼ数年前であることを知っていますが、今日これに思いつきました。ウォッチウィンドウではなく、イミディエイトウィンドウでリストを表示すると便利な場合があります。次を使用すると、最初の100個よりも多くの結果を簡単に表示できます。

yourList.Skip(100).ToArray()

書くのにそれほど時間はかからず、うまく機能します-私にとっては役に立ちました。

更新:以下のコメントで指摘されているように、この回答は実際には間違っており、コレクションにのみ適用され、多くのプロパティを持つオブジェクトには適用されません。多くの人が便利だと思ったので、ここに置いておきます。

48
Ian Routledge

イミディエイトウィンドウは、クイックビューツールとして設計されました。詳細を表示するには、ウォッチウィンドウまたはクイックウォッチウィンドウのいずれかで表示する必要があります。

別のオプションは、イミディエイトウィンドウと同様に動作するが、より多くのオプションがあるVisual Studioアドインを記述することです。

16
Gabriel McAdams

このようにデバッグするときは、常にオブジェクトを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();
}

完全な証明ではありませんが、ほとんどの場合完璧です。ファイル名としてオブジェクト名を使用して、アプリケーションディレクトリにxmlファイルを作成します。イミディエイトウィンドウで、オブジェクト名を入力してから.SerializeToXML()を入力するだけです。

so:myList.SerializeToXML()

4
John