2012-01-26 1 views
3

可能であれば、ソースファイル内で定義されている順序を表示することができます。Javaソースファイルの定義順序を尊重するようにパッケージエクスプローラを取得する

Java - > Appearance - > Member Sort Orderプリファレンスでは、定義のどのカテゴリを表示するか(フィールド、メソッド、内部クラスなど)を設定できますが、順序はではありませんこれらのカテゴリ。 (まあ、これらの中では可視性で注文することはできますが、それ以外のものは注文できません)。このカテゴリ内でアルファベット順にしか表示されないようです。

クイックアウトラインビュー(Ctrl-O)はソースとしての並べ替えを行いますが、collapse all code blocksでも同様のアウトラインをエディタで取得できますが、ナビゲーションにはパッケージエクスプローラを使用することをお勧めします。

たとえば、複数のインターフェイスを実装するクラスでは、インターフェイスごとにメソッドをグループ化し、インターフェイスで定義されているとおりにメソッドの順序を保持します。さらに私はプライベートユーティリティメソッドなどを分離しています。ほとんどの人がそうであると確信していますので、クラスの明確な「論理領域」がないときには可視性によって順序付けを行い、発信者の下に「サブメソッド」があります。

(それが折りたたまれ、エディタビューは、このためにかなり良いですが、ファイルにそれらを並べ替えるために定義をドラッグ&ドロップすることができればそれも良いだろう。)

どちらかといえば、私を得るだろうか、このビューに近い?あなたが好きなら、この欲望がばかげている理由はありますか?

+2

あなたの「ほとんどの人は何か」のコメントに関して、私はあなたと一緒ではありません。私はJavaファイル内のものを「論理的に」並べ替えることをあきらめます。あなたがチームで働くなら、この順序を保つのは難しいです。代わりに、クラスメンバーを「アルファベット順」に並べ替えます。これはIDEによってサポートされ、誰にとっても再現可能です。私はまた、スクロールして何かを探すという習慣を壊します。代わりに 'Strg-o'を使用して、検索したメンバーにすばやく移動します。これは私にとってはるかに効率的です。それにもかかわらず、私はあなたのアプローチを理解することができます。 – FrVaBe

+0

@ K.Claszen十分な見通し(大規模な分散チームの場合)。しかし、インタフェースの実装やオーバーライドされたスーパークラスのメソッドについては、これらの他のクラス/インタフェースに関連するメソッドをグループ化しないと私は馬鹿げて非凡なようです。この文脈では、アルファベットは、ツールの弱点(この一時的な可能性もあります)や弱い/駄目なチームメンバーにあまりにも似ています。しかし、会社のいくつかの苦しいコーディング標準の議論のベテランであった私は、あなたの見解のためにいくつかの同情を持っています:-) –

答えて

4

アルファベット順の並べ替えを無効にすることはできません。少し調査がWONT-FIXとしてマークされているいくつかのバグレポートをアップになります(基本的にはそれらを提案した人はフォローアップしていないので):

を作品としてつまり、アルファベット順のソートを切り替えることができるメンバービューの使用を検討することができます。私はJavaの視点よりはるかに好きなJava Browsingの視点の一部なので、実際にはいつも使っています。 Javaブラウズを使用したくない場合でも、選択した視点でメンバービューを開くことができます。たとえば、開いてドラッグすると、Package Explorerビューの下に配置されます。

+0

ああ、素晴らしい回避策。これを試している他の人のために、あなたがJava Browsingパースペクティブでないならば、MembersビューはWindow - > Show View - > Other ..--> Java Browsingの中にあります。黒い矢印が表示されるまでドラッグして、左ペインの下にドラッグします。他に何も入っていなければこれを少しでも受け入れるでしょう。 –

+0

受け入れが認められます。 –

+0

受け入れが与えられます(パッケージエクスプローラに実際に直接アクセスさせることは実際できません)。あなたの感謝を開始しましょう:-) –

関連する問題