【发布时间】:2014-02-26 21:04:28
【问题描述】:
我正在尝试使用在 natvis.xsd(natvis 模式文件)中定义的标记来编写 C# 或 C++ 代码来可视化类型。我找不到任何关于此的文档,所以我不确定它是如何工作的。特别是我需要为 CustomVisualizer 指定一个 GUID。此 GUID 映射到什么?如何导出使用此 GUID 注册的类?我需要实现什么接口?简而言之,如何将我在 .natvis 文件中指定的 GUID 连接到格式化对象的代码?
natvis 的 documentation 没有提到 CustomVisualizer 标记的存在,但它在 natvis 架构文件中并显示在自动完成中。我发现PyTools 似乎使用这种方法实现了 natvis 自定义可视化工具,但似乎有些代码被隐藏了,我无法找到使用这种方法的实际原生可视化工具的源代码。
这是一个我想做的示例 natvis 文件:
<?xml version="1.0" encoding="utf-8" ?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="MyCustomVisualizer">
<CustomVisualizer VisualizerId="{387446F9-4B29-4EE7-A948-346BF6995603}"/>
</Type>
</AutoVisualizer>
我特别询问如何编写 C# 和/或 C++ 代码来完成这项工作。
【问题讨论】:
-
魔法 GUID 有什么进展吗?我正在尝试做同样的事情。
-
是的,我基本上想通了。非常困难。解释太复杂了,所以这里有一些来源。 github.com/chromium/vs-chromium
标签: c++ visual-studio visual-studio-2013 visual-studio-debugging vs-extensibility