VS2013中shared_ptr
的默认直观设置器就是这样(很多东西都被修剪掉了!):
<Type Name="CA::shared_ptr<*>">
<Expand>
<Item Condition="_Ptr != 0" Name="[ptr]">_Ptr</Item>
</Expand>
</Type>
这意味着在调试器中,您必须展开shared_ptr
,然后展开[ptr]
'成员'以查看指向对象的成员。指向int的指针的层次结构看起来像(忽略原始视图,分配器和删除器):
myIntPtr
[ptr]
42
我想编写一个替换项,将所有指向对象的成员放在一个级别,坐在[ptr]
当前所在的层次结构中的级别。这看起来像:
myIntPtr
42
是否有一些允许的语法?我应该注意,我正在寻找支持显示所有模板参数成员的一般语法,而不是仅适用于shared_ptr
的内容 - shared_ptr
只是一个方便的例子。
答案 0 :(得分:3)
我认为这就是&#34; ExpandedItem&#34;标签是有益的。他们甚至给出了一个类似于你的例子。见这里:http://msdn.microsoft.com/en-us/library/jj620914.aspx#BKMK_ExpandedItem_expansion