User interface 监视变量(调试)窗口的设计

User interface 监视变量(调试)窗口的设计,user-interface,debugging,watch,User Interface,Debugging,Watch,我已经实现了一种脚本语言,它支持 .NET对象的创建和使用 为了便于使用,我想实现一个用户界面 用于在内存中查找变量 我在VisualStudio中检查了调试/监视变量窗口 在Eclipse中,它们似乎都使用相同的模式- variableproperty关系的树状图表示, 这很好,但需要大量的“展开节点”点击 查找特定属性或字段的值 如果所有属性 字段会自动展开,但这很可能 造成另一个问题-将使用太多的斯克雷恩房地产 只显示一个变量 您能推荐任何好的(或不寻常的)调试/查看/变量监视UI实现吗,

我已经实现了一种脚本语言,它支持 .NET对象的创建和使用

为了便于使用,我想实现一个用户界面 用于在内存中查找变量

我在VisualStudio中检查了调试/监视变量窗口 在Eclipse中,它们似乎都使用相同的模式- variableproperty关系的树状图表示, 这很好,但需要大量的“展开节点”点击 查找特定属性或字段的值

如果所有属性 字段会自动展开,但这很可能 造成另一个问题-将使用太多的斯克雷恩房地产 只显示一个变量

您能推荐任何好的(或不寻常的)调试/查看/变量监视UI实现吗, 除了我曾经看过的(VisualStudio,Eclipse)

这样做的目的是能够直观地掌握物体的状态
一瞥(或尽可能靠近它)。

在调试模式下,将鼠标悬停在Visual Studio编辑器中的活动变量上时,您可以使用与此类似的操作:您将获得一个工具提示,显示该对象的所有属性的名称和值,当您将鼠标悬停在该列表中的任何项目上时,您也会看到这些对象详细信息的其他弹出窗口。通过这种方式,只需移动鼠标,您就可以向下搜索并获得所需内容。能够将这些视图中的任何一个锁定到您的手表窗口中也是一个额外的功能。希望这有帮助

一种预览有助于此,当对象展开时,用户可以检查哪些属性是有趣的

- a
  [ ] prop1 : value1
  [*] prop2 : value2
  [ ] prop3 : value3
用户将看到的

+ a : { prop2 : value2 }

您可以让用户在类的基础上自定义感兴趣的属性。

这可能与Visual Studio/Eclipse中的类似,但最新版本(和)提供了一种在Web Inspector的控制台窗格中查看JavaScript对象的好方法:


(来源:)

此外,s调试器中的“Stackframes&Variables”面板非常易于使用:


(来源:)

最后,您是否考虑过添加搜索框?如果用户需要找到深埋在对象中的特定属性(并且他们知道其名称),这将非常有用


Steve

我完全同意-树视图一定是世界上使用错误最多的GUI控件。不幸的是,我不知道有哪个调试器能做得更好:-(

感谢Steve提供了如此详细的答案。是的,包括搜索框肯定在我的列表中-但问题出现了-如何处理中使用的类型?1.突出显示找到的位2.过滤掉所有其他内容3.使用更智能的过滤(给定数据结构的根->父->子属性)?