Eclipse 4.7 Oxygen の 設定 - Java編

今回は、Eclipse 4.7 Oxygen の Java に 関する設定を行っていきます. 今回はかなり長いです. もうちょっとデフォルト設定と気が合えばよいのですが、ついつい設定したくなってしまう…
引き続き各種設定については、お好みがあると思います. ご参考になれば.

作業環境

  • Windows 10 64bit
  • Java SE Development Kit 1.8.0_141
  • Eclipse 4.7 Oxygen

設定

まずは、いつも通り Eclipse の メニュー から [ウィンドウ] - [設定] を クリックし、設定ウィンドウを表示します.

[Java] - [インストール済みの JRE]

Java SE Development Kit(JDK) の パスになっているかを確認します.
JRE の場合、Java 標準ライブラリーのソースが参照できないため開発に支障があるので、追加してチェックをつけます.

[Java] - [エディター] - [入力]

  • 訂正位置で自動的に挿入 - セミコロン: チェック

なるべく自動でやってもらった方が楽なので…

[Java] - [エディター] - [保管アクション]

  • 保管時に選択したアクションを実行: チェック
  • 追加アクション: チェック
  • [構成] ボタンをクリックし、以下を追加
    • コード・スタイル - if/while/for/do ステートメントでブロックを使用 - 常時
    • コード・スタイル - ‘for’ ループを拡張へ変換
    • コード・スタイル - 式で括弧を使用 - 必要な場合のみ
    • コード・スタイル - 関数型インターフェース・インスタンスへ変換: 可能な場合はラムダを使用
    • コード編成 - 末尾の空白を除去 - 全ての行
    • メンバー・アクセス - 宣言されているクラスを修飾子として使用: チェック
    • 不要なコード - 未使用のインポートの除去
    • 不要なコード - 不要な ‘$NON-NLS$’ タグを除去
    • 不要なコード - 冗長な型引数を除去

保管アクションは、エディタを保存するたびに実行してくれる処理になります. うまく設定することで作業を自動化させたり、チームでの開発で お作法を整えたりできるのでかなり便利です. 厳しくするなら全部チェックしてもよいぐらいですが、このぐらいがバランスが良いように感じます.
ソース・コードのフォーマットにチェックがついているチームに入ったことがありますが、ちょっと使いにくかった… (たぶん Ctrl + S を かなりの高頻度で押す私が悪い)

[Java] - [コード・スタイル] - [コード・テンプレート]

  • 新規メソッドと型のコメントを自動的に追加: チェック

Javadoc の テンプレートが自動で入ってくれるので便利です. ここのテンプレートもしっかり設定したいのですが、今回は設定項目が多いので別途.

[Java] - [コード・スタイル] - [フォーマッター]

[新規] ボタンをクリック

[Java] - [コード・スタイル] - [フォーマッター] - [新規プロファイル]

プロファイル名に任意の名称 (ここでは Formatter) を 入力し、[OK] ボタンをクリック

[Java] - [コード・スタイル] - [フォーマッター] - [Formatter プロファイル]

  • タブ・ポリシー: スペースのみ

実は Java エディター の タブ設定は、ここに隠れているのです… 前回の タブでスペースを挿入: チェック は 一般エディターで、Java エディター の 設定ではないので注意が必要です.

[Java] - [コンパイラー] - [Javadoc]

  • 誤った形式の Javadoc コメント: 警告
    • メンバーの可視性を次のように設定: Private
    • タグ引数の検証: チェック
    • 不可視参照をレポート: チェック
    • 使用すべきでない参照をレポート: チェック
    • タグ記述の欠落: すべての標準タグを検証
  • 未指定の Javadoc タグ: 警告
    • メンバーの可視性を次のように設定: Private
    • オーバーライドしたメソッドの実装を無視: チェックを外す
    • メソッド型パラメーターを無視: チェックを外す
  • 未指定の Javadoc コメント: 警告
    • メンバーの可視性を次のように設定: Protected
    • オーバーライドしたメソッドの実装を無視: チェックを外す

ひたすら厳しく設定しています. Javadoc は Protected 以上は書くようにし、書くからには厳しくチェックです.
よく「コードを見ればわかるでしょ」って言われるのですが、それはコードを見る側が言う言葉で、コードを見てもらう側がいう言葉ではないと思っています. 私の周辺だと、この違いがスキルにも大きく表れているように感じます.

[Java] - [コンパイラー] - [エラー/警告]

  • フィルター入力 へ ~無視 を 入力し、以下を除いて すべて 警告
    • インスタンス・フィールドへの限定されていないアクセス: 無視
    • 外部化されていないストリング: 無視
    • static にできるメソッド: 無視
    • 潜在的に static にできるメソッド: 無視
    • ボクシングおよびアンボクシング変換: 無視

ここも厳しく設定しています. 最初から厳しくし設定しておけば習慣化しますし、コードレビューの際に不要なチェックや雑音というか不要なノイズが減るので、ちゃんと本質を見てもらいやすくなります.

[Java] - [ビルド・パス]

  • ソース・フォルダー名: src/main/java
  • 出力フォルダー名: target/classes

Maven の パスに合わせました.

[Maven]

  • アーティファクト・ソースのダウンロード: チェック

Java 開発をする場合は、Maven/Gradle は 使うケースが多いかと思います. Eclipse の Gradle 設定はあまりないのですが、Maven は 少し設定しておきたいです.
利用するライブラリーのソースは参照できるようにしておくと便利なのでチェックしておきます. Javadoc は ソースから見れるので Javadoc の ダウンロードは設定してません.

[Maven] - [ユーザー・インターフェース]

  • デフォルトの POM エディターで XML ページを開く

GUI エディター より、XML で 見た方が早いので設定しました. GUI エディターは設定するときよりも、Jar の 依存関係を見たりするときに使ってます.

[実行/デバッグ] - [コンソール]

  • コンソールのバッファー・サイズ: 200000

少し多めに.


結構、設定項目がありました. 手になじませて使うためにも仕方ないですね.