|
今回は,Java開発をサポートする基本的なプラグイン(10個)を紹介します。Eclipseには標準でJava開発をサポートする様々な機能が備わっていますが,ここで紹介するプラグインを活用して自分だけのオリジナルの構成を作れば,Eclipseはより一層便利な開発環境になります。
なお,今回紹介するプラグインは,Eclipse3.2.2上で動作確認しています。
■プロパティエディタプラグイン
Java開発では,アプリケーションの設定ファイルや,メッセージ・リソース用のファイルとしてプロパティ・ファイルを利用する場合があります。
プロパティ・ファイルに日本語を含む場合は,native2asciiコマンドなどを利用してユニコード・エスケープ形式に変換する必要があります。このプロパティエディタプラグインを使用すると,エディタ上では日本語でファイルを編集でき,ファイルの保存時にユニコード・エスケープ形式への変換を自動で行ってくれます。
図1は実際にプロパティ・ファイルをプロパティエディタプラグインで開いた様子です。同じファイルを右クリックして[アプリケーションから開く]-[テキスト・エディター]で開いてみると,図2のようにユニコード・エスケープ形式に変換されていることがわかります。
| |
図1●プロパティ・ファイルをプロパティエディタプラグインで開いた様子 [画像のクリックで拡大表示] |
| |
図2●ユニコード・エスケープ形式への変換を自動で行う [画像のクリックで拡大表示] |
なお,拡張子「.properties」のファイルが自動的にプロパティエディタプラグインで開けない場合は,ファイルを右クリックして表示される「アプリケーションから開く」メニューから「PropertiesEditor」を選択します。
■CheckStyleプラグイン
Checkstyleプラグインは,ソースコードのコーディング規約違反をチェックするツールです。チェックを有効にするには,プロジェクトを[右クリック]-[プロパティ]-[Checkstyle]をクリックし,「Checkstyle active for this project」チェックボックスにチェックを入れます。
図3のようにコーディング規約に違反した個所はエディタ上に警告マークが出るほか,「問題」ビューにも表示されるので見た目もわかりやすくなっています。ビューに表示された警告メッセージをダブルクリックするとソースコードの該当個所へジャンプできるので修正も楽に行えます。
| |
図3●コーディング規約に違反した個所には警告が出る [画像のクリックで拡大表示] |
コーディングルールのカスタマイズも簡単で,設定ファイルとして出力できますので,チーム開発時のコーディング規約徹底などにも役立ちます。
■Log4E
Log4Eは,各種ログライブラリを操作するソースコードを自動的に生成してくれるプラグインです。JDK 1.4から標準APIに加わったLoggingAPI,オープンソースの代表的なログ出力ライブラリのcommons-logging,Log4Jに対応しています。
Javaエディタ上で右クリックして表示されるメニュー「Log4E」のサブメニューを選択することで以下のことが可能です。
- Declare logger : ログ出力変数の定義
- Log this variable : 選択した変数をログ出力
- Log at this position : 指定した位置に任意のログを出力
- Log this method : メソッドの開始,終了ログを出力
- Log this class : ログ出力変数の定義,メソッドの開始,終了ログを出力
- Substitute System.out's in this method : 選択したメソッド中のSystem.out.printlnをログ出力に変更
- Substitute System.out's in this class : クラス中のすべてのSystem.out.printlnをログ出力に変更
使用するログライブラリは[ウィンドウ]-[設定]-[Log4E]で変更することができます。
■LogWatcher
Log4Eと組み合わせて使いたいのが,LogWatcherプラグインです。LogWatcherを使うと,ログファイルをEclipseのビュー上に表示できます。単に表示するだけではなく,ファイルに出力されているログをビュー上でリアルタイムに確認することができます。アプリケーション・サーバーなどが自動的に出力するログなどを確認するのに役に立つでしょう。
LogWatcherビューを開くには,[ウィンドウ]-[ビューの表示]-[その他]で表示されるリストから,[Log Files]-[Log Watcher]を選択します。新たに表示するログファイルを選択する場合,ビュー上部メニューの「Create a new watcher」をクリックし,ログファイルを選択します。
目的のログだけを見やすく表示するため,指定した文字が含まれる場合に表示したり,目的のログをハイライト表示したりできます。図4は,ローカルにインストールしたTomcatのログをLogWatcherで表示した様子です。このように,開発に使用するアプリケーション・サーバーなどのログをEclipse上でリアルタイムで確認できるのはとても便利です。
| |
図4●ローカルにインストールしたTomcatのログをLogWatcherで表示した様子 [画像のクリックで拡大表示] |
■Eclipse Platform Extensions
Eclipse Platform Extensionsは,Eclipseにいくつかの便利な機能を追加してくれるプラグインです。インストールすると,メニュバーの[ファイル]に以下のメニューが追加されます。
- Restart Workbench : Eclipseの再起動
- Run Garbage Collection : ガーベジコレクションの実行
また,パッケージエクスプローラ上で右クリックして表示されるメニューには以下の機能が追加されます。
- Open Folder
- In Navigator : 選択したディレクトリをリソースパースペクティブで開く
- In Explorer : 選択したディレクトリをエクスプローラで開く
- In Command Prompt : 選択したディレクトリをコマンドプロンプトで開く
- Copy Name To Clipboard
- Fully Quarified Name : 選択したJavaファイルのクラス名(パッケージから指定した完全修飾クラス名)をクリップボードにコピーする
- File Name : 選択したファイルの名前(ファイル・システム上の絶対パス)をクリップボードにコピーする
開発中には,Javaクラスの完全修飾クラス名をソースコード中や設定ファイルに記述することがよくあります。そのとき,このプラグインがあればクラス名のスペルミスなどを防ぐことができます。
■Commons4E
Commons4Eは,オープンソース・コミュニティApache Jakartaプロジェクトのプロダクトの一つで,commons-langを使用して典型的なコードを出力してくれるプラグインです。
提供されている機能は,以下のメソッド
- equals()
- hashCode()
- toString()
- compareTo()
Javaエディタ上で[右クリック]-[Commons4E Lang]を選択すると,対象のメソッド名が表示されます。例えば,toString()メソッドを選択すると,文字列化したい対象のフィールドや,出力する位置などを指定できます。
なお,commons-langのクラスパスへの追加は手動で設定しなければならないので注意してください。
■FindBugs
FindBugsは,Javaソースコード中のバグの可能性がある個所を指摘してくれるプラグインです。バグの発生を開発中に未然に防ぐことができます。チェックを実行したい対象のプロジェクト上で右クリックし,「Find Bugs」を実行すると,「問題」ビュー上にバグの可能性がある個所が一覧表示されます。
表示される文章が日本語に対応しているのもうれしいところです。また,Findbugs専用のビューも用意されています。[ウィンドウ]-[ビューの表示]-[その他]で表示される一覧から,[FindBugs]-[Bug Details]を選択すればFindbugsの専用ビュー「Bug Details」を表示できます。
図5は,実際にFindbugsによってバグの可能性が指摘されている画面です。このソースコードでは,String型のオブジェクトを“==”で比較しています。エディタの該当個所,Bug Detailsビュー,「問題」ビューのそれぞれに警告が表示されているのがわかります。バグの可能性だけを指摘するのではなく,その理由まで表示しているので修正の助けにもなります。
| |
図5●Findbugsによってバグの可能性が指摘されている画面 [画像のクリックで拡大表示] |
Findbugsは,プロジェクト特有の設定を行うこともできます。プロジェクトを右クリックし,[プロパティ]-[Findbugs]で表示されるプロジェクトごと設定画面で,一覧からチェック対象とするルールを選択できます。バグとして扱って欲しくない項目はここのチェックボックスを外しておきましょう。また,「Run FindBugs automatically」にチェックを入れておけば自動的にチェックを実行してくれるので,プロジェクト中のソースをチェックし忘れる心配はありません。