10

我最喜欢的 Eclipse 特性之一是能够打开方法的调用者/被调用者层次结构

默认情况下,视图显示对我的代码库之外的类的调用/来自我通常不关心的类的调用。

有一个选项可以过滤我不想要的特定包名称,但我需要做相反的事情......过滤我想要的包之外的所有包。在这里使用什么合适的正则表达式来“匹配除以 开头的字符串之外的所有字符串com.mycompany.?”

替代文字

4

8 回答 8

14

我最近遇到了同样的问题,探索 Call Hierarchy 的选项后,我找到了 Search In 选项。它通过单击三角形激活

查看菜单

过滤选项非常简单有效: 搜索选项

于 2012-11-19T09:26:04.320 回答
2

似乎“过滤器调用”对过滤器模式使用 glob 语法,而不是正则表达式。您不能指定不应glob 模式匹配的内容。对不起。

于 2010-10-18T20:12:29.080 回答
1

它不完全是您正在寻找的,但它是一种替代解决方案。看看nWire for Java。它是一个代码探索插件。除其他外,它将呈现调用层次结构。但是,它只会显示来自您自己的代码的调用,因此它应该满足您的需求。

于 2010-10-19T08:17:15.640 回答
1

另一种方法是打开“类型层次结构”视图的视图菜单,选择“选择工作集”并选择仅包含您当前感兴趣的项目的现有或新工作集(如有必要,仅为此目的创建一个,例如称为“TypeHierarchyFilterWorkingSet”)。

顺便说一句,我只是使用 Eclipse Indigo 完成了这项工作,不确定其他版本是否有类似的东西。

于 2015-01-16T03:28:42.000 回答
1

在“Open Call Hierarchy”之后,右键单击结果的根目录,然后在“References”或“Declarations”下选择您感兴趣的项目:

在此处输入图像描述

于 2018-01-20T10:03:26.277 回答
0

一种解决方案(虽然有些蛮力)是从 Eclipse 的范围内删除其他代码。将它们放入单独的工作区,或者,如果您有时确实需要将它们放在一个工作区中,则在您不想看到它们时关闭其他项目。

于 2011-01-11T01:20:31.913 回答
0

您可以尝试向该方法添加一个参数,而不是所有调用在重建时都将显示为错误。

于 2012-01-12T14:59:09.273 回答
0

你可以过滤掉 org. , 网。, java.* 等等。这(在我的情况下)极大地减少了列表

于 2016-11-14T07:36:10.343 回答