2
我想編寫一個Visual Studio 2010擴展,在每個類,方法,屬性,字段和事件定義上顯示邊距標誌(工具提示/彈出窗口點擊其他信息)。VS2010擴展,使用MEF標記,想要使用代碼模型
新的基於MEF的框架非常整潔,但我可以標記以創建邊距字形的唯一東西是快照雲。不幸的是,他們沒有任何類型的代碼模型或結構,我不得不通過字符串解析來搜索類名等,絕對不是我想要做的。
我們發現,我們可以使用
[Import]
internal SVsServiceProvider ServiceProvider;
中檢索一個DTE對象爲當前文檔。不幸的是,我們仍然有問題,因爲我們沒有TextPoint對象,因此請撥fileCodeModel.CodeElementFromPoint()
。
有人知道如何將SnapshotSpan轉換爲TextPoint嗎?
是否有任何其他方式直接標記代碼模型而不是文本?只有我在谷歌發現事情已經:Visual Studio Extensibility/Margins - 也忘卻如何從SnapshotSpan轉換爲TextPoint:(
問候 DR
我看不到如何獲得RapidMEF的源代碼,似乎並不是開源的。 –
RapidMEF(相應於我們的Reflector研究)使用ac#來自未公開的非官方MS庫的語言分析器(微軟有限命名空間中的類等) 這對我們來說不是太有用,謝謝反正。 –
@ D.R。我不認爲目前有一個公共的API可以讓你訪問代碼模型。它應該是在「羅斯林」:http://blogs.msdn.com/b/ericlippert/archive/2010/12/16/hiring-for-roslyn.aspx –