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


88

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

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

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

これらはウォッチウィンドウで確認できましたが、同じではありません。

回答:


38

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


私はこれをしないことによって5年間自分自身を妨害してきました。
secretwep

53

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

yourList.Skip(100).ToArray()

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

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


件名に追加していただきありがとうございます。ご存知のように、「古い」質問が今日の問題に対する答えを持っていることがあります。
DOK 2011

ここで「yourList」とはどういう意味かわかりませんか?私が見ようとしているオブジェクトのことですか?もしそうなら、Visual Studio Pro 2013
Kunal

yourListは、表示しようとしているオブジェクト(コレクション)であり、通常はIList <T>またはIEnumerable <T>タイプです。お役に立てば幸いです。
Ian Routledge 2014

2
コレクション内の残りのアイテムを表示する場合は機能すると思いますが、元の質問で述べたように、この回答はプロパティには役に立ちません。なぜこれが選ばれた答えなのかわかりません。以下のGeneWhitakerの回答は、はるかに便利なIMOです。
サイモンML

1
フェアポイント、あなたは正しいですこの答えは実際には間違っています!更新コメントを追加している-などの修正気軽に
イアン・ルートレッジ

16

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

もう1つのオプションは、イミディエイトウィンドウと同様に動作するが、より多くのオプションがあるVisualStudioアドインを作成することです。


ありがとう。単純なもの、クリックする必要があまりないもの、何百ものアイテムを簡単にスクロールできるものを見落としていたのではないかと期待していました。あなたは最良の選択肢を特定したと思います。
DOK 2010年

1
@DOK:受け入れられるに値するかもしれない、この質問に対するより良い答えがあります。
Eric J.

@Gabriel本当にクイックビューツールとして設計されたのですか?それはそれよりもはるかに多いようですが、その機能を備えており、その機能に役立ちます。それは、先見の明と投機の両方の評価のために、私にとってユニークで有用であるように思われます。それは、見るための「What Is」マシンではなく、探索するための「WhatIf」マシンだと思います。
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()

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.