我正在为 ReSharper 7 编写一个插件,我希望能够使用 Call Tracking从我的插件里面。我在 SDK 中没有遇到任何可以让我这样做的东西,这有可能吗?
具体来说,我希望能够从我的 IRecursiveElementProcessor
中获取方法的“传入调用”和“传出调用”。
最佳答案
ReSharper 中的“调用跟踪”是一项用户端功能,但不是用于其他功能的通用引擎。基本上它使用两个 API - Find Usages 和 Resolve。要查找对您的方法或属性的用法(调用),您必须使用 IPsiServices:Finder 并查找从给定代码块调用的方法和属性,您必须使用 RecursiveElementProcessor 处理它的语法树,请求每个树节点的引用 ITreeNode:GetReferences( ) 并使用 IReference:Resolve 解析每个引用。 您应该用于这些操作的基本接口(interface)是: I树节点 引用文献 ID声明元素 ID声明
关于c# - 通过 SDK 从插件内部使用 ReSharper "Call Tracking",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11834008/