如何使用非文本信息扩充Visual Studio C#编辑器?

我遇到过Visual Studio C#编辑器显示额外UI和/或数据的情况:

  • VS 2015中引入的调试器断点配置 – 请参见此处 。
  • Ozcode ,它使用调试时间值扩充编辑器。

我想做类似的事情,但不知道要使用哪些Visual Studio API。 我遇到过这些Visual Studio可扩展性技术:

  • 调试器可视化器 :允许使用C#编写自定义可视化工具,但似乎要求输出位于模式弹出对话框中。 因此,这似乎不是正确的框架。
  • 投影缓冲区 :似乎很有希望但不确定这是否可用于扩充主编辑器窗口,而不是创建完全自定义的编辑器窗口。

所以问题是,如何在调试时编写将自定义调试信息添加到Visual Studio编辑器的代码?

查看编辑器文本装饰 ,在文本中添加相对于单个角色的WPF视觉效果,以及将UI添加到文本编辑器本身的编辑器视口装饰

例如,请参阅文本内装饰样本和键入速度计样本 。