VS2017中自用部分插件的设置的翻译或功能介绍—— OzCode功能介绍(一)

OzCode
调试神器
官网/GitHub


说明
此篇为OzCode官网上的功能介绍,对OzCode提供的各类功能大概介绍了一番。
这里还有一篇对OzCode各功能的详细说明。
这里有一个好东西。
本篇文章编写时间为2019年4月12日,对应4.0.0.557版本。



LINQ Debugging(LINQ 调试)

(点击此处了解更多详细信息)
LINQ太棒了。 它允许我们编写功能强大,简洁且富有表现力的代码,这些代码非常适合阅读和维护。 唯一的问题是使用LINQ意味着牺牲代码的可调试性以实现可读性。 如果您使用F10跳过了一行使用LINQ的代码 —— 您刚刚执行了一大堆复杂的逻辑,但您完全没有了解实际发生的事情。 在调试LINQ时,使用断点和手动一行一行调试可能是徒劳的浪费时间。 OzCode突破性的LINQ调试可视化使您可以查看不同条目是如何通过LINQ途径传递的,并查看每个lambda表达式的返回值,同时可以利用强大的OzCode工具,如RevealSearch。 注意:仅在VS2015及更高版本中支持LINQ调试。 .NET Core尚不支持,但支持即将推出。

Numeric Indicator(数值显示器)

在调试期间,当执行点(黄线)到达LINQ查询时,每个LINQ运算符旁边会出现一个指示符,表示它生成了多少项。
在这里插入图片描述
一目了然每个操作符筛选了多少条目,生成了多少条目,帮助您决定关注哪个操作符。

LINQ DataTip(LINQ数据提示)

单击其中一个数字指示器,将OzCode置于LINQ调试模式,并打开LINQ DataTip窗口,该窗口显示给定操作符生成的条目。 您可以点击DataTip中的“前/后”按钮来快速切换生成的条目和传入该操作符的条目。
在这里插入图片描述
单击其中一个条目将更新Head-Up Display(下文有介绍,在此处简单说就是显示在每句上面的那个值,比如上图中的“3”“Fizz”“1,2,Fizz”),来反映每个lambda返回的通过LINQ传递的特定条目。 另一种选择是在鼠标悬停在数字注释上时使用鼠标滚轮快速滚动条目,可以看到它们的值在调试代码中立即改变。
在这里插入图片描述

LINQ Analysis Window(LINQ分析窗口)

可以从DataTip窗口打开详细的分析工具窗口,也可以单击调试查询左侧的lambda图标:
在这里插入图片描述
您可以使用SearchReveal查找感兴趣的对象,也可以使用“operator breadcrumbs”(也就是上图中顶部显示“Source”“Where”“Select”等的那栏)在LINQ之间导航,并利用动画可视化LINQ查询的流程。

Understanding Exceptions in LINQ queries(了解在LINQ查询中的异常)

难题之一是要解决在复杂的LINQ查询中从深处抛出的异常 —— 这几乎是不可能调试的。 通过红色高亮显示的LINQ数字指示器,OzCode会在它被抛出之前警告您这样的异常,让您使用LINQ DataTip或LINQ分析窗口深入研究,以找出导致该异常的确切条目!
在这里插入图片描述

Fluent and Query Syntax Support(流畅Lambda和查询语法支持)

使用LINQ查询、过滤和转换集合时,开发人员可以选择两种类型 —— 基于lambda的流畅API或类似SQL的查询表达式。 选择使用哪种语法取决于个人偏好以及问题的性质。 流畅的lambda语法更简洁,在简单查询时往往更可取。 但是,使用查询语法可以更容易地表达一些更复杂的查询,这允许您利用“let”关键字和多个“from”子句来处理复杂数据。 OzCode完全支持LINQ的这两种风格。 当您使用查询语法时,OzCode将直观地突出显示哪些项来自哪个“from”子句,每个项的“let”表达式计算的值等等!
在这里插入图片描述


Export(导出)

(点击此处了解更多详细信息)
导出允许您将对象实例的文本表现保存到文件或剪贴板,以便在调试会话结束后继续使用。
在这里插入图片描述
使用Export,开发人员可以“抓取”对象并将其保存为JSON、XML、甚至C#代码,可用于使用上次调试运行的值创建单元测试。
在这里插入图片描述
保存导出的实例(或将其复制到剪贴板)后,可以使用它来重现实例状态,使用外部差异工具进行分析或比较。 对于JSON输出,OzCode使用行业标准的Newtonsoft Json.NET序列化程序,这使得反序列化和处理结果非常容易。


Heads Up Display(头部显示)

Investigate(追查、考察、探究)

调试复杂表达式绝非易事。 您如何看待方法调用返回的内容? 在一个冗长的复杂if语句中,每个布尔条件的值是什么? 如果不简化代码或添加变量来存储单个结果,则难以回答这些问题。 借助OzCode强大的“简化”可视化功能,您可以立即弄清楚代码中发生了什么! 单步执行表达式时,红色/绿色的背景颜色将分别告诉您哪些表达式返回false / true。前面的红色

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值