【问题标题】:Get Package Explorer to respect definition ordering in Java source file获取包资源管理器以尊重 Java 源文件中的定义顺序
【发布时间】:2012-01-26 11:35:09
【问题描述】:

如果可能,我希望 Package Explorer 视图仅显示源文件中定义的顺序。

我知道,在Java-->Appearance-->Member Sort Order 首选项中,你可以设置定义出现的顺序类别(字段、方法、内部类等),但不能设置顺序在这些类别中。 (嗯,你可以在这些中按可见性排序,但没有别的。)它似乎只在这个分类中按字母顺序排列。

快速大纲视图 (Ctrl-O) 执行此源代码排序,我也可以 collapse all code blocks 在编辑器中获得类似的大纲,但我更喜欢使用包资源管理器进行导航。

例如,对于实现多个接口的类,我按照接口对方法进行分组,并保持接口中定义的方法顺序。另外,我将私有实用程序方法等分开。正如我确信大多数人所做的那样,当类没有任何明确定义的“逻辑区域”时,我也会默认按可见性排序,并且往往会有调用者下方的“子方法”。

(如果可以拖放定义以在文件中重新排序它们会更好,尽管折叠的编辑器视图对此非常有用。)

如果有的话,什么能让我更接近这个观点? (或者,如果你愿意,有什么理由说明这种欲望是愚蠢的?)

【问题讨论】:

  • 关于您的“大多数人都这样做”的评论,我不同意您的意见。我放弃“逻辑地”对我的 Java 文件中的内容进行排序。如果您在团队中工作,则很难保持此顺序。相反,我“按字母顺序”对我的班级成员进行排序 - 这是 IDE 支持的,并且每个人都可以重现。我也打破了滚动和搜索东西的习惯。相反,我使用Strg-o 快速导航到我搜索的成员。这对我来说效率更高。不过我能理解你的方法 - 很幸运能找到你问题的答案。
  • @K.Claszen 足够公平的视图(尤其适用于大型分布式团队)。但是,对于接口实现和重写的超类方法,不将与这些其他类/接口相关的方法分组对我来说似乎非常不合逻辑。在这种情况下,按字母顺序排列有点像迎合工具的(可能是暂时的)弱点(比如这个问题!)或弱/马虎的团队成员。但是,作为公司中多次痛苦的编码标准辩论的老手,我对您的观点表示同情:-)

标签: java eclipse


【解决方案1】:

无法禁用字母排序似乎是一个奇怪的遗漏。稍作调查发现了一些标记为 WONT-FIX 的错误报告(基本上是因为提出它们的人没有跟进):

作为一种解决方法,您可以考虑使用“成员”视图,它允许您切换字母排序。我实际上一直在使用它,因为它是 Java 浏览透视图的一部分,我更喜欢 Java 透视图。即使您不想使用 Java Browsing,也可以在您选择的视角中打开“成员”视图。例如,打开它并将其拖到 Package Explorer 视图下方。

【讨论】:

  • 啊,不错的解决方法。对于尝试此操作的其他人,如果您不在 Java 浏览透视图中,则成员视图位于 Window-->Show View-->Other..-->Java Browsing 中。通过拖动拖动到左侧窗格视图下方,直到出现黑色向下箭头。如果没有其他内容,我会接受这一点。
  • 接受了(因为似乎没有办法让包资源管理器直接执行它)。让您的欣赏开始:-)
  • 请求重新打开 Eclipse 错误 51611(请参阅我在其中的评论),所以让我们看看是否有任何事情发生......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 2015-03-10
  • 1970-01-01
  • 2012-08-01
相关资源
最近更新 更多