【问题标题】:eclipse package explorer: file node duplicates type node?eclipse包资源管理器:文件节点重复类型节点?
【发布时间】:2012-09-01 13:08:24
【问题描述】:

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

是否有一些选项使包浏览器跳过文件节点,或者我在这里遗漏了一些基本原理?

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

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

    不幸的是,没有选项可以抑制 .java 文件节点。我怀疑这主要是出于历史惯性的原因。各种导航视图早在很久以前就作为基本文件导航器开始了。

    我建议打开 Eclipse Java 开发者工具的增强请求。

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

    【讨论】:

      【解决方案2】:

      我认为如果您探索源代码,文件是外观中非常重要的一部分。它们不仅可以是 java 文件(不包含类型),还可以包含超过 1 种类型(具有非公共类的文件)等。如果您只是跳过文件名,您将在包级别下拥有一堆类并且不知道是什么类属于什么文件。

      【讨论】:

      • 我同意您对非 Java 文件的看法。但是,每个 java 文件只能有一个顶级类型。所有其他都是内部类型,因此是一个顶级类型的成员。在树中,内部类型是顶级类型的子节点。因此,结构将被非常清楚地表示。
      • @Wolfgang 您可以在一个 java 文件中拥有多个非嵌套类。但其中只有一个必须是公开的。在 Type Hierarchy 上,这些类与 public 处于同一级别。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-05
      • 1970-01-01
      相关资源
      最近更新 更多