我最喜欢的 Eclipse 特性之一是能够打开方法的调用者/被调用者层次结构。
默认情况下,视图显示对我的代码库之外的类的调用/来自我通常不关心的类的调用。
有一个选项可以过滤掉我不想要的特定包名称,但我需要做相反的事情......过滤掉除我想要的包之外的所有包。在这里使用什么合适的正则表达式来“匹配除以 开头的字符串之外的所有字符串com.mycompany.
?”
我最喜欢的 Eclipse 特性之一是能够打开方法的调用者/被调用者层次结构。
默认情况下,视图显示对我的代码库之外的类的调用/来自我通常不关心的类的调用。
有一个选项可以过滤掉我不想要的特定包名称,但我需要做相反的事情......过滤掉除我想要的包之外的所有包。在这里使用什么合适的正则表达式来“匹配除以 开头的字符串之外的所有字符串com.mycompany.
?”
我最近遇到了同样的问题,探索 Call Hierarchy 的选项后,我找到了 Search In 选项。它通过单击三角形激活
过滤选项非常简单有效:
似乎“过滤器调用”对过滤器模式使用 glob 语法,而不是正则表达式。您不能指定不应与glob 模式匹配的内容。对不起。
它不完全是您正在寻找的,但它是一种替代解决方案。看看nWire for Java。它是一个代码探索插件。除其他外,它将呈现调用层次结构。但是,它只会显示来自您自己的代码的调用,因此它应该满足您的需求。
另一种方法是打开“类型层次结构”视图的视图菜单,选择“选择工作集”并选择仅包含您当前感兴趣的项目的现有或新工作集(如有必要,仅为此目的创建一个,例如称为“TypeHierarchyFilterWorkingSet”)。
顺便说一句,我只是使用 Eclipse Indigo 完成了这项工作,不确定其他版本是否有类似的东西。
一种解决方案(虽然有些蛮力)是从 Eclipse 的范围内删除其他代码。将它们放入单独的工作区,或者,如果您有时确实需要将它们放在一个工作区中,则在您不想看到它们时关闭其他项目。
您可以尝试向该方法添加一个参数,而不是所有调用在重建时都将显示为错误。
你可以过滤掉 org. , 网。, java.* 等等。这(在我的情况下)极大地减少了列表