VS2010扩展,使用MEF标记器,想要使用代码模型

时间:2011-08-12 11:52:52

标签: visual-studio-2010 mef margin vsx envdte

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

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

我们发现我们可以使用

[Import]
internal SVsServiceProvider ServiceProvider;

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

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

有没有其他方法直接标记代码模型而不是文本?我在谷歌上找到的只有:Visual Studio Extensibility / Margins - 还伪造了如何从SnapshotSpan转换为TextPoint :(

祝你好运。 D.R。

1 个答案:

答案 0 :(得分:0)

我自己不知道如何做到这一点,但你可以通过查看RapidMEF的代码来解决这个问题。