2011-07-21 27 views
4

すべてのプロパティでツリーを展開せずにウォッチウィンドウで表示するオブジェクトのメンバを指定する方法はありますか?例:Visual Studioのウォッチウィンドウ

p =新しいポイント(10,10)がウォッチの値の列に表示されます。{X = 10 Y = 10}

私自身のクラスでは、常に{MyNamespace.MyClass}または{MyNamespace.MyClass}と表示されます。

{MyStringProperty = "" MyIntProperty = 0 ...}

+1

ToString()メソッドを実装すると、その結果がclass/struct nameの代わりに表示されます。 – jirkamat

答えて

6

あなたは属性によってクラスをマークしている場合はUsing DebuggerDisplay Attribute

を参照してください:ウォッチウィンドウの値]列に表示されて

[DebuggerDisplay("x = {X} y = {Y}")] 
public class MyClass 
{ 
    public int X { get; private set; } 
    public int Y { get; private set; } 
} 

出力は次のようになります:

x = 5 y = 18 
+1

ありがとうございます。 – paccic

2

を使用できます(Visual Studioのアドオン)を使用すると、コードを再コンパイルするためにデバッグを停止することなく、ツリーを展開することなく表示したいメンバをstarにすることができます。

は、次のスクリーンショットの例を参照してください:

Stars Feature

全開示:私は "BugAid" の共同作成者です。

+0

この機能はVisual Studio 2010でビルドされています。ポップアップウィンドウの任意のプロパティ/フィールドを試してみてください – sll

+1

実際には、それは全く異なる機能です - ピニングは単一のオブジェクトの単一のプロパティを保持していますあなたのコードエディタ。 Starsは、[DebuggerDisplay]属性と同様に、**特定の型の**すべての**値がDataTipに表示される方法をカスタマイズし、デバッグセッション間で記憶されます。基本的には[DebuggerDisplay]属性の機能を実行しますが、停止したり、属性を追加したり、再コンパイルして再実行する必要はありません。 –

関連する問題