犰狳的自定义 natvis 文件仅适用于 resharper
Posted
技术标签:
【中文标题】犰狳的自定义 natvis 文件仅适用于 resharper【英文标题】:Custom natvis file for Armadillo only works with resharper 【发布时间】:2019-06-03 18:52:46 【问题描述】:我为 Visual Studio (17.7.4) 创建了一个自定义可视化文件 (.natvis),以便能够查看 Armadillo 容器中的数据。
自定义可视化仅在将鼠标悬停在变量上并启用 ReSharper(2018.3.2) 时才有效。如果我打开 Locals 窗口或添加 Watch,则不会显示自定义可视化(启用或不启用 ReSharper)。
根据这篇文章 Is there a way to print an Armadillo matrix or vector in Visual Studio Debug? natvis 文件正在运行。
另一个相关链接。 customize multi-dimension array debugging in visual studio 2015 with .natvis file
【问题讨论】:
能否请您在VS中turn on natvis diagnostics并检查输出窗口中是否出现消息!? @WernerHenze 输出窗口显示它找到了自定义可视化工具并成功使用它来解析表达式。不输出错误或警告。如果有什么不同,我在 ..\Documents\Visual Studio 2017\Visualizers\ 下添加了 .natvis 文件 【参考方案1】:事实证明,.natvis 文件已根据 natvis 诊断输出正确加载和解析。自定义可视化仅在将鼠标悬停在变量(ReSharper 功能)上而不在输出变量窗口中起作用的原因是由于调试器设置,调试 -> 选项 -> 常规 -> 在变量窗口中显示对象的原始结构.
我尝试实施this 帖子中的建议,即关于打开on“在变量窗口中显示对象的原始结构”选项的部分。正如帖子中所建议的,打开和关闭该功能可能会起作用。我最终重新启动计算机并将该选项设置为关闭。这解决了我的问题,当我将鼠标悬停在变量上时,我能够在变量窗口中看到自定义可视化。
【讨论】:
以上是关于犰狳的自定义 natvis 文件仅适用于 resharper的主要内容,如果未能解决你的问题,请参考以下文章
FxCop 中的自定义规则仅适用于由特定类型的方法调用的方法
如何使我的自定义 ViewModifier 仅适用于 SwiftUI 中符合(可识别和视图)的内容/视图?