2
我正在爲ReSharper 7編寫一個插件,我希望能夠在插件中使用Call Tracking。我在SDK中沒有遇到任何讓我這樣做的事情,有沒有可能?從插件內部通過SDK使用ReSharper「呼叫跟蹤」
具體而言,我希望能夠從我的IRecursiveElementProcessor
內部獲得方法的「撥入呼叫」和「撥出呼叫」。
我正在爲ReSharper 7編寫一個插件,我希望能夠在插件中使用Call Tracking。我在SDK中沒有遇到任何讓我這樣做的事情,有沒有可能?從插件內部通過SDK使用ReSharper「呼叫跟蹤」
具體而言,我希望能夠從我的IRecursiveElementProcessor
內部獲得方法的「撥入呼叫」和「撥出呼叫」。
ReSharper中的「呼叫跟蹤」是用戶端功能,但不是用於其他功能的通用引擎。基本上它使用兩個API--查找使用和解析。要找到您的方法或屬性的用法(調用),您必須使用IPsiServices:Finder並查找從給定代碼塊調用的方法和屬性,您必須使用RecursiveElementProcessor處理它的語法樹,請求每個樹節點的引用ITreeNode:GetReferences( )並使用IReference解析每個引用:Resolve。 您使用應該對這些操作的基本接口: ITreeNode IReference IDeclaredElement IDeclaration