2

我想编写一个 Visual Studio 2010 扩展,在每个类、方法、属性、字段和事件定义上显示一个边距字形(单击时带有附加信息的工具提示/弹出窗口)。

新的基于 MEF 的框架非常简洁,但为了创建边距字形,我唯一可以标记的是快照跨度。不幸的是,他们没有任何类型的代码模型或结构,我被迫通过字符串解析搜索类名等 => 绝对不是我想要做的。

我们发现我们可以使用

[Import]
internal SVsServiceProvider ServiceProvider;

检索当前文档的 DTE 对象。不幸的是,我们仍然有问题要调用fileCodeModel.CodeElementFromPoint(),因为我们没有 TextPoint 对象。

有人知道如何将 SnapshotSpan 转换为 TextPoint?

有没有其他方法可以直接标记代码模型而不是文本?我在谷歌上找到的唯一东西是:Visual Studio 可扩展性/边距- 也忘记了如何从 SnapshotSpan 转换为 TextPoint :(

此致。博士

4

1 回答 1

0

我自己不知道该怎么做,但是您可以通过查看RapidMEF的代码来弄清楚。

于 2011-08-14T06:04:23.367 回答