Visual Studio 集合可视化工具






4.84/5 (23投票s)
Visual Studio 2015 和 Visual Studio 2017 的集合可视化工具。 在调试模式下预览您的集合。
引言
上一次,几年前,我不得不开发一个 .NET 解决方案,其中包含大量序列之间的比较。这个序列是一个很大的序列,偶尔,检查这些结果简直是炼狱。
我决定构建一个程序集来支持在调试模式下可视化和过滤集合结果。 后来,我将这个 程序集 更新为 Visual Studio 可视化工具,今天我将它分享给你,因为我认为它是一个非常有用的补充。
MLCollectionVisualizers
是一个开源项目,代码可在 Github 上获取。
安装
安装 MLCollectionVisualizers
非常简单。 我们需要区分 Visual Studio 2015 和 Visual Studio 2017。
Visual Studio 2015
我们必须将 MLCollectionVisualizer2015.dll 复制到此路径
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers\
Visual Studio 2017
我们必须将 MLCollectionVisualizer2017.dll 复制到此路径
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Packages\Debugger\Visualizers\
一旦将程序集放入 Visual Studio 可视化工具路径中,重新启动 Visual Studio,我们的集合可视化工具将被安装。
MLCollectionVisualizers
MLCollectionVisualizers
使用起来非常简单。 我们必须使用 SERIALIZABLE
标记我们的类类型。 如果有人报告任何不适,我们可以使用预处理器指令,就像在我们的示例中一样
#if DEBUG
[Serializable]
#endif
public class Album
{
public int ID { get; set; }
public string Artist { get; set; }
public string AlbumName { get; set; }
public int Released { get; set; }
public string Genre { get; set; }
public decimal NumberOfCopies { get; set; }
public int ClaimedSales { get; set; }
}
使用它非常简单。 我们在一个集合变量中放置一个 断点,然后单击镜头
正如我们所看到的,我们可以通过单击网格的 ColumHeader
来排序数据。
过滤
MLCollectionVisualizer
提供数据过滤,此过滤仅限于 DataColumn.Expression
属性。 类似于 SQL。
我们将进入第二个选项卡 'Filters'
‘Filter Info’ LinkedLabel
- 包含带有过滤信息的链接,所有说明和限制。
应用过滤器按钮 - 执行过滤器
示例
正在进行中
如果您输入了不正确的语法过滤器,它将显示错误
在此示例中,错误是“=
”符号。
支持的集合
MLCollectionsVisualizers
支持的集合如下
IEnumerable<T>
ICollection<T>
IList<T>
HashSet<T>
ObservableCollection<T>
Queue<T>
Stack<T>
LinkedList<T>
IReadOnlyCollection<T>
ConcurrentBag<T>
ConcurrentQueue<T>
ConcurrentStack<T>
Array ( T[] )
IEnumerable
ArrayList
HashSet
队列
堆栈
限制
不支持 x64 进程。
不支持 Entity Framework 的 System.Data.Entities.DynamicProxies
。 当我们查询数据库时,Entity Framework 默认使用具有特殊特征的通用对象
我们可以通过将我们的 Entity Framework 配置 DbContext
设置为 ProxyCreationEnabled
设为 false
来修复这个问题
context.Configuration.ProxyCreationEnabled = false;
测试项目
为此解决方案添加一个测试项目以及 MLCollectionVisualizers2015.dll 和 MLCollectionVisualizers2017.dll。
历史
- 2011 年 4 月 11 日:初始版本