我一直在为 Visual Studio 开发调试器可视化工具一段时间,而实际的可视化工具工作正常。问题在于,当检查一个变量时,它总是将自己置于可视化列表的顶部,这确实让一些宁愿将 Text 作为顶部的用户感到恼火(因为在打开 VS 时顶部也是默认值)。
我在DialogDebuggerVisualizer或DebuggerVisualizerAttribute上找不到对此的任何支持,这是我的第一个想法,所以我一直在搜索 SO/MSDN/Google 以获取有关如何影响可视化器排序顺序的信息(最好将我的放在列表的最后) ) 但无济于事。
下面是我如何注册我的可视化工具,然后它只显示一个基于正在可视化的值的表单。
using Microsoft.VisualStudio.DebuggerVisualizers;
[assembly: System.Diagnostics.DebuggerVisualizer(
typeof(Shorthand.VSAddins.JsonVisualizer.JsonVisualizer),
typeof(VisualizerObjectSource),
Target = typeof(string),
Description = "Json Visualizer")]
namespace Shorthand.VSAddins.JsonVisualizer
{
public class JsonVisualizer : DialogDebuggerVisualizer
{
protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
{
var json = objectProvider.GetObject() as string;
var form = new VisualizerForm { Json = json };
windowService.ShowDialog(form);
}
}
}
有谁知道是否有可能影响可视化工具的顺序,还是我应该让它发生?