【发布时间】: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 足够公平的视图(尤其适用于大型分布式团队)。但是,对于接口实现和重写的超类方法,不将与这些其他类/接口相关的方法分组对我来说似乎非常不合逻辑。在这种情况下,按字母顺序排列有点像迎合工具的(可能是暂时的)弱点(比如这个问题!)或弱/马虎的团队成员。但是,作为公司中多次痛苦的编码标准辩论的老手,我对您的观点表示同情:-)