在旧版本的VS中,locals / watch / autos / etc窗口会反映你所看到的任何继承树:
这样做的好处是,您只能预先看到本地添加的变量,无论您处理的是什么,这几乎都是我感兴趣的。
现在,它将它变得扁平化并将所有内容放在一个大的列表中:
如果你正在处理任何像Windows Forms这样的东西,或者正在使用深度继承树继承任何东西,这意味着你经常需要跋涉大量的垃圾,这些垃圾永远不会重要,每次你需要的时候看一下。
从本质上讲,VS2015似乎是这样做的:Flatten inherited members in Visual Studio's Watch window?并且使它成为唯一的选择,我想反过来做。当然,偶尔在继承树深处快速潜水是件好事,但我想只经常潜水浅1000倍。
在常规调试设置中,我没有看到任何明显控制此行为的内容,还有其他方法可以切换行为吗?
答案 0 :(得分:14)
幸运的是有一个。
namespace Test
{
public class A
{
public int Foo { get; set; }
}
public class B : A
{
public int Bar { get; set; }
}
class Program
{
static void Main(string[] args)
{
var a = new B();
}
}
}
Documentation(不太有用):
使用旧版C#和VB表达式评估程序
调试器将使用Visual Studio 2013 C#/ VB表达式计算器而不是Visual Studio 2015基于Roslyn的表达式计算器。