Eclipse 3.x

 2010.3.29より、ヒットになります。

統合環境Eclipseは、当初Java開発環境として出発しましたが、現在では、C++、PHPなどのプログラミング環境となっています。

概要

エディタ、コンパイラ、コード生成、デバッガ、バージョン管理ツールを統合したツールです。また、プラグインを使用するとによって様々なツールを組み込むことができます。例えばUMLモデリング(設計)ツール、GUIレイアウトツール、メトリクス計測ツール、性能解析ツール、リリースおよびビルド管理ツールといった機能を付加することができます。

最初に使うまで

Elispse本体

まず、Eclipse本体をインストールします。

入手先は、Eclipse.orgのサイトから[Downloads]のリンクを辿ります。最新版のEclipseの各用途向けパッケージが一覧されているので、ほしいものを選択します。

おおまかなガイドとしては、

OSごとにインストール用パッケージが用意されているので、インストールするOSのものを選択します。なお、各OS 32bit版と64bit版が提供されていますが、プラグインによっては32bit専用のものがあるため、どちらを選択するかは調査をした方がよいでしょう。

Eclipseの国際化と日本語化

Eclipseは現在英語版のみが公開されています。英語以外の国際化対応を行うために、以前は各国語対応のためのLanguage PackがIBMから提供されていました。しかし、Ver.3.3以降はIBMからのLanguage Pack提供が停止、それに代わってEclipseコミュニティ主導のBabelプロジェクトと呼ばれる作業からLanguage Packが提供されるようになりました。Babelプロジェクトはまだインキュベータ(孵化)プロジェクトレベルです。

日本語化については、Language Packとは異なる日本語化を実現しているPleiadesプラグイン作者の柏原真二さんや、Pleiadesの成果をベースにLanguage Pack(サードパーティ版)を作成している伊賀敏樹さんらが、Babelプロジェクトの日本語Language Packへの貢献をしております。

そこで、現時点は日本語化について、以下の3種類の選択肢があります。

日本語翻訳度合いは上から順番だと思います。

Windows 環境

1.Eclipse IDE for Java EE Developersのダウンロード

2010/07/01時点の最新版である、Heliosは以下ファイル名です。

2.Pleiadesプラグインのダウンロード

2010/07/01時点の最新版である、Pleiades 1.3.xは以下ファイル名です。

インストール

まず、1.を解凍します。Eclipseインストーラではないので、解凍ツールを使って展開します。例えば、D:\javaに解凍先を指定すると、D:\java\eclipseフォルダ以下に必要なファイルが展開されます。名前がeclipseのままでは管理しづらいので、D:\java\eclipse-jee-heliosに変更します。

続いて、2.を解凍します。エクスプローラ上で、2.のzipファイルをダブルクリックすると、zipファイル中のフォルダが見えるので、eclipseフォルダの下に移動し、ここにあるファイル・フォルダを全選択(Ctrl-a)し、1.で展開したD:\java\eclipse-jee-heliosフォルダ下にコピーします。

Pleiadesの設定方法は、2.で展開された中のreadme\readme_pleiades.txtに書かれているものを参照してください。以下の修正を1.で展開したフォルダ内のeclipse.iniファイルに追記しました。

-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
dropinsの仕組みを使ったインストール
 eclipse には、dropinsというディレクトリがあり、プラグイン等をeclipse本体のディレクトリであるpluginsやfeaturesに置く方法に代わって使うことができます。プラグインを削除し、更新するときに、ディレクトリが別であると楽になります。
pleiadesをdropinsに置くときは、以下のようなディレクトリ構成にします。
 D:\java\eclipse-jee-helios
    +--- features
    +--- plugins
    :
    +--- dropins
           +--- pleiades                 <--- 任意の分かりやすいディレクトリ名を付けてよい
                  +--- eclipse           <--- ディレクトリ名はeclipseにする
                         +--- features     -+  
                         +--- plugins       +-  pleiadesのアーカイブを展開した中身
                         +--- readme       -+
このようにdropinsにpleiadesプラグインを展開したときは、設定ファイル(eclipse.ini)の記述を以下のようにします。
-javaagent:dropins/pleiades/eclipse/plugins/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

初回、および、Pleiadesプラグインを更新したとき、新しいプラグインを追加したときなどは、eclipseを-cleanオプション付きで起動する必要があるので、2.で展開された中の"eclipse.exe -clean.cmd"ファイル(バッチファイル)をダブルクリックして実行します。

「Workspace Launcher」ダイアログが表示されます。デフォルトはEclipseをインストールしたフォルダの中を指しています。マシンを複数ユーザで共有するときやツールのバージョンアップ時に消してしまいがちなので、通常は各ユーザの作業領域を指定します。

使用するJavaVMの設定

Eclipseは、起動時に環境変数PATHにあるjava.exeを探し、そのjava.exeが含まれるJRE(Java Runtime Environment)を「使用するJavaVM」として設定します。J2SE SDKへのパスを環境変数PATHの先頭に指定していないと、例えばC:\Program Files\Java\j2re1.5.0_01が使用されます。開発において、J2SE SDK直下のJREが使用されないと開発上都合が悪いことが多いので、以下のとおり変更を実施しておくとよいでしょう。

Eclipse起動後、「ウィンドウ(Windows)」メニュー→「設定(Preferences...)」を実行し、左側ツリービューにおいて、Java - インストール済みのJRE(Installed JREs)を選択状態にします。右側で[検索]ボタンを押すと、EclipseがHDDを検索し、JDKがインストールされているドライブやディレクトリをリストに追加してくれます。検索後、開発で使用するバージョンのものにチェックを入れておきます。

その他初期設定

その他、初期設定しておくべき項目を記述します。

エディタでタブキーを押すとスペースを挿入

インデントを空白文字で行います。プロジェクトで統一する事項ですが、最初に設定しておかないと問題になります。

[ウィンドウ]メニュー→[設定]を実行し、左側ペインで[一般]→[エディタ]→[テキストエディタ]を選択、右側ペインで、[タブでスペースを挿入(I)]にチェックを入れ、[適用(A)]ボタンを押します。

JStyleプラグインのインストール

Javaエディタで、デフォルトではキーワードの文字が太字で表示されますが、太字のときは文字幅が余分に取られるため、インデントがずれます。対策として、JStyleプラグインを入れて補正します。

Eclipse本体のjarファイルを上書きするため、dropinsではなく直接eclipse直下のpluginsにコピーします。上書きするファイル名が一致しなければならないので、Eclipseのバージョン番号(3桁)が一致するJStyleプラグインを適用します。

展開後、eclipseを-cleanオプション指定で起動、[ウィンドウ]メニュー→[設定]を実行し、左側ペインで[一般]→[JStyle]を選択し、右側ペインで[太字を通常文字と同じ幅で表示する(M)]にチェックが付いていることを確認し、[適用]ボタンを押します。なお、改行・タブ・全角スペースも表示されるので、そぐわなければチェックを外します。

Java Standard Edition(Java SE)開発環境

正規表現 Plugin "QuickREx"

入手先

エクリプスの[ヘルプ]メニュー→[新規ソフトウェアのインストール...]を選択し、表示された「インストール」ダイアログで[追加]ボタンを押し、「サイトの追加」ダイアログで名前欄にQuickREx、ロケーション欄にhttp://www.bastian-bergerhoff.com/eclipse/featuresを入力し[OK]ボタンを押します。「インストール」ダイアログの中央に、保留中...と表示され、しばらく待つと、QuickRExほかプラグインが5つほど表示されます。QuickRExにチェックを付けます。

[次へ]ボタンを押し、インストールされる項目にQuickRExとQuickREx_I18Nの2つが表示されることを確認し、[次へ]ボタンを押し、[使用条件の条項に同意します]をチェックし[完了]ボタンを押します。

セキュリティ警告(署名なしのコンテンツを含むソフトウェアをインストールしようとしています)が出るかもしれませんが、インストールします。

使用方法

[ウィンドウ]メニュー→[ビューの表示]→[その他]を選択し、「ビューの表示」ダイアログでQuickRExを選択します。すると、QuickRExパネルが表示されます。

正規表現式欄に正規表現パターンを入力し、テスト文欄にパターン・マッチング対象文字列を入力します。
マッチ欄には、マッチングする部分が表示され、グループ欄にはグループ指定をしていたときの該当部分が表示されます。

リソースバンドル・プロパティ編集 Plugin "ResourceBundle Editor"

デフォルト・ロケールと日本語ロケールでプロパティを編集する際は、同じキー文字列に対してそれぞれのロケールの文字列で値を設定します。このプラグインでは、キー毎に複数のロケールの値を並べて表示し編集できるので、スペルミスや設定漏れといったバグを防ぐことができる点が優れものです。

また、リソースのキーをピリオド'.'で区切って階層的に整理している場合に、キーを階層的に表示してくれる点もうれしいものです。

上記画面は、KandayResource.propertiesとKandayResource_ja.propertiesの2つのリソースファイルがあるディレクトリでファイルを開いたときのものです。ファイル名から日本語ロケールのファイルを認識し、同じキー(ここでは"frame.title")の値をDefaultロケールとjaロケールの2つについて表示しています。

入手先

Eclipseの

ResourceBundle Editorのダウンロードサイトから入手します。

2010年3月29日現在、Ver.0.7.7が最新です。

解凍して出来るpluginsディレクトリを、eclipseディレクトリの下にコピーすればインストールは完了です。

テスト

djUnit

カバレッジ計測します。直接テストをサポートするわけではありませんが、テストの効果を計る有効な指標としてのカパレッジ・レポート、カバレッジを向上させる際に役に立つ仮想モック・オブジェクトの機能があります。

メトリクス計測

ソフトウェアの品質指標(メトリクス)を計測します。一番知られているメトリクスで多分一番無意味なステップ数(LOC)とか、モジュール性の指標となる凝集性の欠如(LCOM)や結合度(CAB)、コードの複雑さを表すMcCabeのサイクロマティック複雑度などがあります。

メトリクスは健康診断のようなもの。数値が異常(閾値を超えた)だからといって即コードがだめだというものでもありません。得られた指標とコードそのものを見ながら総合的に診断することが肝要です。

Eclipse Metrics Plugin

入手先

概要

HTMLまたはCSVファイルにメトリクス結果を吐き出すレポート機能が秀逸です。HTMLの場合はグラフの画像も生成されます。ただし他の機能は貧弱で、HTML(CSV)レポートに出したものを見るので実は使いづらいです。

計測可能なメトリクス
McCabeのサイクロマティック複雑度、メソッドあたりの行数、スコープ内のローカル変数の数、結合度、凝集性の欠如(LCOM)、フィールド数、メソッド内のネストレベル数、引数の数、命令行数、クラス内のメソッド複雑度の総和など。
LCOMについては、Chidamber&Kemerer, Henderson-Sellers, Pairwise Field Irrelation, Total Correlationの4種類が用意されている。

Metrics

入手先

ダウンロードしてインストールする方法の他、アップデートサイトが用意されています。

概要

パースペクティブの中に、メトリクス計測結果を表示するビュー(ドリルダウンで展開される表形式)があります。XML形式で出力することも可能です。また、依存関係をグラフィックス表示するDependency Analysisによってパッケージ間の依存関係を可視化することができます。書籍「アジャイルソフトウェア開発の奥義」で紹介されているメトリクスです。

パフォーマンス・チューニング

パフォーマンス・チューニングの原則は、1) 正しく作る 2)ボトルネックを計測する 3)ボトルネックを解消するためにチューニングを実施する の順番で適用することが肝要。いきなり最初からやみくもにチューニングすることは避けるべし。

jMechanic Eclipse Profiler Plugin

入手先

概要

Java VM標準のプロファイリング出力(hprof)を利用して結果を可視化する(らしい)。Sysdeo Tomcat pluginがあれば、Tomcatのプロファイルも可能(らしい)。

TPTP(Test & Performance Tools Platform)

hyadesの発展系。テスト管理機能、実行機能(リモート含む)、テストデータ管理、テスト結果レポートなど。テスト実行において、実行時間・メモリ・スレッドなどのプロファイリングを行う。

開発は停滞し、Eclipse 3.6シリーズへの対応を最後に凍結の予定。アナウンスページ参照。

入手先

概要

ユーザ・インタフェース構築

ユーザ・インタフェースを構築するのは大抵デザインの専門家である。そのため、GUIをコーディングするのはなるべく避けたいところ。

Visual Swing for Eclipse

The Eclipse Visual Editor Project

以下の記述は古いです。

入手先

インストール

製品名 バージョン ファイル名 概要
Eclipse 3.1.2 Eclipse開発環境本体
VEP 1.1.0.1
VE-runtime-1.1.0.1.zip
GUIビルダ・プラグイン
GEF 3.1 GEF-runtime-3.1.zip グラフィックス編集フレームワーク・プラグイン
EMF 2.1.0
emf-sdo-runtime-2.1.0.zip
モデリングフレームワーク・プラグイン

それぞれ解凍してEclipseのディレクトリのplugins/features以下にコピーする。

使い方

Eclipseの[ファイル]メニューから[新規]→[その他]を選ぶと以下のダイアログが表示される。左側のツリービューで[Java]をドリルダウンすると、AWT、Swingが選択できる。Swingの場合は、JFrame/JPanel/JAppletの3種類のクラスが選択可能。

ここで、"JFrame Visual Class"を選んで[次へ(N)>]をクリックすると、javax.swing.JFrameクラスを継承するクラスの新規作成ウィザードが現れる。

生成すると、Eclipseのソース編集上でビジュアルなGUI作成が可能になる。

環境設定メモ

Eclipseの環境設定は癖があって慣れないと分かりにくい。IBM系だからかなぁ。

ホバー表示の日本語化

いくつか手段があるようです。

  1. Javadoc日本語版を入手し展開した後、Eclipseのインストール済みのJRE設定から、ソース添付を削除し、JavadocロケーションをJavadoc日本語版の場所に設定する。
    ※ ソース添付をなしにすることで弊害が発生するかもしれません。
  2. Javaソースのコメントを日本語化する(MergeDocツールを使用)

1. Javadoc日本語版と設定で日本語化

Javadoc日本語版を入手し展開する。(展開したディレクトリを、仮にD:\java\jdk1.6.0\docs\ja とする)

Eclipseの[ウィンドウ]メニュー→[設定]で、左側ペインの[Java]→[インストール済みのJRE]を選択、右側ペインで現在チェックが付いているJREを選択し、[編集]ボタンを押す。

JREシステム・ライブラリー:欄で、rt.jarをドリルダウンし、ソース添付:を選択して右側の[除去]ボタンを押す。ソース添付:(なし)となることを確認する。

Javadocロケーションを選択し、右側の[Javadocロケーション...]ボタンを押し、表示されたダイアログの[参照]ボタンを押す。ここで、先ほど展開したJavadoc日本語版の場所にあるapiディレクトリを設定する(例: D:\java\jdk1.6.0\docs\ja\api)

2. MergeDocツールによるJavaソースの日本語化

ファイルの入手

Java SE 6がインストール済みの前提で、以下のファイルを入手する。

ファイル名 Ver. 内容 入手先
Mergedoc.zip
2.1.4 日本語JavaDoc文書からJ2SE SDKソースコードコメントを日本語化
http://mergedoc.sourceforge.jp/
jdk-6u10-docs-ja.zip
1.6.0u10 日本語JavaDoc文書
http://java.sun.com/j2se/1.5.0/ja/download.html
Java SE SDK 6日本語APIドキュメントの展開

jdk-6u10-docs-ja.zipを、インストールしたいディレクトリの下で解凍・展開する。例えば、解凍先ディレクトリをD:\java\jdk1.6.0に指定すれば、D:\java\jdk1.6.0\docs\ja以下に展開される。

MergeDocの展開

一時作業領域にでも展開する。例えば、解凍先ディレクトリをC:\tmpに指定すれば、いくつかのファイルがC:\tmp以下に置かれる。

MergedocによるJ2SE SDKソースファイルのコメント日本語化

Java SE SDKに添付されるAPIのソースファイル(src.jar)のコメントを日本語に変換する。先にMergeDocを展開した中にあるmergedoc.jarを実行する起動すると設定画面が表示されるので、以下のように指定して[実行]ボタンを押す。数分かかる。。

ホバー表示のJava 2 SE API日本語化設定

Eclipseの[ウィンドウ]メニュー→[設定]で、左側ペインの[Java]→[インストール済みのJRE]を選択、右側ペインで現在チェックが付いているJREを選択し、[編集]ボタンを押す。

JREシステム・ライブラリー:欄で、rt.jarをドリルダウンし、ソース添付:を選択して右側の[ソース添付]ボタンを押す。MergeDocで生成したsrcja.zip(例: D:\java\jdk1.6.0\srcja.zip)を設定する。

ビルドパス(クラスパス)の設定

プロジェクト設定を複数開発者で共有する際に、パスをベタ打ちしてしまうと皆が同じディレクトリ構成を取らなければならない(例えばC:\POI\poi-2.0-RC1-20031102.jarと設定するなら、皆がこれに合わせる)。それはあまりな事態なので、クラスパス変数という仕組みを使用する。

クラスパス変数の設定(ワークベンチ共通)

まず、ビルドパスに指定したいライブラリの変数名を定義する。[ウィンドウ]メニュー→[設定]を実行し、左側ペインの[Java]→[クラスパス変数]を選択する。右側ペインで[新規]ボタンを押すと新規変数エントリーダイアログが表われるので、名前に定義する変数名を入れ(例えばJUNIT_LIB)、パスにはJARファイル等のファイルを直接指定する場合は[ファイル]ボタンを押して指定、クラスファイル等の基点となるディレクトリを指定する場合は[フォルダ]ボタンを押して指定する。

プロジェクトのビルドパスにクラスパス変数を適用

[プロジェクト]メニュー→[プロパティ]を実行し、左側ペインの[Javaのビルドパス]を選択する.右側ペインで[ライブラリ]タ]を選択し、[変数の追加]ボタンを押す。上述「クラスパス変数の設定」で定義した変数を選択し[OK]ボタンを押す。これでクラスパスが追加されるが、Javadocロケーションとソースファイルを設定しておくと便利なのでここで設定する。右側ペイン[ライブラリ]タブで、ライブラリをドリルダウンして[Javadocロケーション]をダブルクリックし、ライブラリのJavadocの場所を指定する。続いて[ソース添付]をダブルクリックしたいが方法が不明なので今後の課題。

エディタ設定

外部エディタとの連携

[ウィンドウ(W)]メニュー→[設定(P)]で設定ダイアログを表示させます。

左側ペインの[一般]→[ワークスペース]を選択し、右側ペインの[自動で更新(R)]にチェックを入れます。すると、外部エディタで編集し保存したファイルがEclipse上ですぐに更新されます。

Emacsキーバインディングに設定する

[Window]メニュー→[Preferences]でPreferencesダイアログを表示させます。

左側ペインの[General]→[Keys]を選択し、右側ペインの[Modify]タブを選択します。
一番上の[Active configuration]欄(ComboBox)でEmacsを選択します。

TABキーでその行をインデントさせる

[Window]メニュー→[Preferences]でPreferencesダイアログを表示させます。

左側ペインの[General]→[Keys]を選択し、右側ペインの[Modify]タブを選択します。
Commandグループの[Category]欄(ComboBox)でSourceを選択し、その直下の[Name]欄(ComboBox)でIndent Lineを選択し、さらにその下のAssignments欄(Table)で、Editing Java Sourceの行を選択します。
すると、最初空欄であったKey Sequenceグループの[Name]欄にCtrl+Iが表示されます。右横の左向き三角ボタンを押すとポップアップメニューが表われるので、Tabを選択します。その結果、[Name]欄が"Ctrl+I, Tab"と変化します。

インデントはタブコードでなくスペースとする

ファイルサイズをケチらなくてはならない時代ならいざ知らず、今ではインデントはスペース文字で行う。タブコードを使用するのは百害あって一理無し。

コードフォーマットに、組み込みのJava Conventionsを選択する方法

Java Conventionsにはインデントをタブではなくスペースにするルールが含まれています。

[ウィンドウ(W)]メニュー→[設定(P)]で設定ダイアログを表示させます。

左側ペインの[Java]→[Code Style]→[Formatter]を選択し、右側ペインで[Select a profile]欄で、[Java Conventions [built-in]]を選択し、[Apply]ボタンを押します。