2012-09-07 44 views
1

当您在eclipse中激活包资源管理器的Java成员时,树层次结构将包含源文件夹>包> java文件>类型>方法。与Mylyn一起,实际上非常方便。但是,我觉得Java文件节点是多余的。由于每个文件只包含一个“根”类型,文件节点下总是只有一个类型节点显示相同的名称。这只需要空间,并不会添加任何信息。在这个树中只有Java语言元素会更有意义:package> type> members。 当您禁用成员时,用文件节点替换类型节点是有意义的,以避免必须从文件中加载附加信息。但是,当成员启用它不会。eclipse package explorer:文件节点重复类型节点?

是否有一些选项可以让包浏览器跳过文件节点,还是我在这里错过了一些基本原理?

回答

0

@沃尔夫冈,我同意你的理由。对绝大多数情况而言,.java文件与其包含的类型之间存在1对1映射。尽管在一个.java文件中可能有多个顶级类型,但这种做法并不常见,特别是在出现内部类型之后。可以说,即使您使用多个顶级类型功能,与.java文件的显式关系也不是那么重要。如果删除文件中的所有类型,该文件可能会消失。

不幸的是,没有选项可以禁止.java文件节点。我怀疑这主要是出于历史惯性的原因。各种导航视图以基本文件导航器的形式开始。

我会建议为Eclipse Java开发人员工具打开增强请求。

https://bugs.eclipse.org/bugs/enter_bug.cgi?product=JDT

0

我想如果你探讨源代码,文件是外观非常重要的部分。它们可以不只是java文件(不包含类型),可以包含多于一个类型(非公共类文件)等。如果你只是跳过文件名,你将有一堆类在包级别,不知道什么类属于什么文件。

+0

我同意你的观点,非Java文件。但是,每个java文件只能有一个顶级类型。所有其他人都是内部类型,因此是顶级类型的成员。在树中,内部类型是顶级类型的子节点。所以,这个结构将会非常清晰地表现出来。 – Wolfgang

+1

@Wolfgang你可以在一个java文件中有多个非嵌套类。但其中只有一个必须公开。在类型层次上,这些类与公共级相同。 – mishadoff