我想编写一个 Visual Studio 2010 扩展,在每个类、方法、属性、字段和事件定义上显示一个边距字形(单击时带有附加信息的工具提示/弹出窗口)。
新的基于 MEF 的框架非常简洁,但为了创建边距字形,我唯一可以标记的是快照跨度。不幸的是,他们没有任何类型的代码模型或结构,我被迫通过字符串解析搜索类名等 => 绝对不是我想要做的。
我们发现我们可以使用
[Import]
internal SVsServiceProvider ServiceProvider;
检索当前文档的 DTE 对象。不幸的是,我们仍然有问题要调用fileCodeModel.CodeElementFromPoint()
,因为我们没有 TextPoint 对象。
有人知道如何将 SnapshotSpan 转换为 TextPoint?
有没有其他方法可以直接标记代码模型而不是文本?我在谷歌上找到的唯一东西是:Visual Studio 可扩展性/边距- 也忘记了如何从 SnapshotSpan 转换为 TextPoint :(
此致。博士