胡祥春开发专栏

基于Java EE & WebService的日文软件开发
随笔 - 1, 文章 - 24, 评论 - 7, 引用 - 0
数据加载中……

Eclipse 3.1の統合環境を使いこなす

 Eclipse 3.1の統合環境を使いこなす


金子崇之(NTTデータ先端技術 オープンソース技術部)
岡本隆史(NTTデータ 基盤システム事業本部)
2005/9/28


 Eclipse 2.1を対象とした前回の連載「連載:E clipseを使おう(2) Eclipseの統合開発環境を使いこなす」では、Eclipseの基本的な使い方、覚えておきたい用語、使いこなすためのちょっとしたコツをご紹介しました。その後、Eclipseも3.0、 3.1とバージョンアップを重ね、より便利に使いやすくなっています。今回はバージョンアップで新たに導入された機能も含めて、前回と同様に Eclipseを使いこなすための情報を紹介します。

 なお、以下では説明の際に日本語化したメニューを用いて説明します。Eclipseをまだインストールされていない方、日本語化されていない方は、第1回「Eclipse 3.1の導入と日本語化」の記事を読んで環境を整備してください。

 また「使いこなす」ためには、ショートカットキーを数多く覚えることが早道です。今回はメニュー表記のほか、ショートカットキーもなるべく紹介するようにしています。可能な限り覚えてしまいましょう。なお[Ctrl]+[Shift]+[L]で有効なショートカットキーがポップアップ表示されますので、忘れてしまったときには適時参照すると良いでしょう。

ワークベンチ全体を把握する

 まずはEclipseを起動すると表示されるワークベンチ全体から見ていきましょう(画面1)。

画面 1 Eclipseのワークベンチ (クリックすると拡大表示します)

 ウィンドウ全体を「ワークベンチ」、中央部にあるソースが表示される部分を「エディタ」と呼びます。エディタの周囲を囲むように配置されているのが「ビュー」で、「パッケージ・エクスプローラー」や「アウトライン」「問題」など、さまざまな種類の情報を表示します。問題ビューの上端に「Javadoc」や「宣言」という文字が見えますが、これもビューです。Javadocビューや宣言ビューは問題ビューと同じ場所にタブとして重ねて表示されています。パッケージ・エクスプローラービューの上端に「>>1」という文字が見えますが、これは背後に別のビューが重なっていることを表示しています。

 これらのビューの組み合わせとレイアウトを「パースペクティブ」といい、ワークベンチ内に複数のパースペクティブを保持することができます。パースペクティブには、Javaのソース編集を行うためのJavaパースペクティブ、Javaアプリケーションのデバッグを行うデバッグパースペクティブ、CVSを操作するためのCVSパースペクティブなどがあります。開発の場面ごとに用意されたパースペクティブを用いて、適したビューの構成で作業をすることができるようになっています。ワークベンチ右上のボタンか、[Ctrl]+[F8]→[Ctrl]+ [Shift]+[F8]を使って切り替えることができます。

ワークベンチのレイアウトを使いこなす

■ビューの配置

 ビューはそのタイトルバーをドラッグすることで、いろいろな位置に置くことができます。例えばアウトラインビューのタイトルバーをドラッグして、パッケージ・エクスプローラーのタイトルバーにドロップしてみると、重ねられ、タブになります。また、ワークベンチ左下のスペースにドロップすると、必要に応じて引き出せる「高速ビュー」になります。ビューは[Ctrl]+[F7]と[Ctrl]+[Shift]+[F7]で切り替えることが可能です。 Eclipse 3.1では各ビューの配置を変更する際、移動後の配置状態が枠で表示されるため、容易に思いどおりの配置を行うことができます。また、ビューのタイトルをウィンドウ外にドラッグ&ドロップすることで、ビューをEclipseウィンドウの外に出して表示することもできます。


■ビューのサイズ変更

 各種ビューは、ビューのタイトル脇に表示されるアイコンをクリックすることで上下に最小化でき、必要なビューを素早く必要な大きさにすることができます。[Ctrl]+[M]で、現在アクティブなエディタやビューを最大化できます。ビューをいろいろ配置していると、しばしば狭いエディタで編集しがちですが、キー1つで最大化できるので広いエディタで編集するとよいでしょう。エディタを切り替えられる[Ctrl]+[F6]や[Ctrl]+[E]、ビューを切り替えられる[Ctrl]+[F7]などと併用すると、キーボードでの操作が快適になります。また、エディタやビューを閉じる機能は[Ctrl]+ [F4]のほか[Ctrl]+[W]にも割り当てられ、使わないエディタはすぐ閉じることができます。

■エディタの拡張

 同じファイルを2つのエディタで開くことができます。[ウィンドウ]→[新規エディタ]で新しいエディタが開きますので、タブをドラッグしてエディタの配置を変え、同じファイルの異なる場所を同時に表示できます。大きなファイルを編集しているときに役立つでしょう。

 

プロジェクトを使いこなす

 Eclipseでの開発は、プロジェクトという単位で行います。

■ワーキングセットの設定

 パッケージ・エクスプローラービューのメニュー[▽]から[ワーキングセットの選択]→[新規]を選択し、ワーキングセットを作成できます。ワーキングセットとは編集の対象としたいプロジェクトやプロジェクト内のフォルダを指定したものです。パッケージ・エクスプローラービューのメニューから[表示]→ [ワーキングセット]を選択すると、プロジェクトやフォルダがワーキングセットごとに表示されます(画面2)。

画面2 ワーキングセットによる表示

プロジェクト設定ファイル

 プロジェクトごとの設定は、各プロジェクトフォルダ配下の.settingsフォルダ内に記録されるようになりました。このフォルダの中身をコピーすることにより、あるプロジェクトで設定した内容を別のプロジェクトに適用することができます。

■プロジェクト外部のファイルを編集

 プロジェクト外部のファイルをEclipseで編集することもできます。[ファイル]→[外部ファイルを開く]で、プロジェクト外部のファイルを指定します。このとき、プロジェクトは1つも存在しなくても問題ありません。Tomcatの設定ファイルをEclipseのXML編集プラグインを使ってちょっと編集する、といったことが実現できます。

Javaエディタを使いこなす

 Eclipse 3.1のJava開発環境(Java Development Tool:JDT)は、Eclipseにあらかじめ組み込まれているJava開発のためのプラグインです。Javaソース用のエディタや、型階層ビュー、デバッグ用のビューなどが含まれています。商用のIDEに劣らない、さまざまな機能が盛り込まれています。まずはJavaエディタを使いこなせるようになりましょう。

■行番号と印刷マージンの表示

 デフォルトの状態では、行番号はワークベンチ下部のステータスバーに表示されるだけです。[ウィンドウ]→[設定]→[ワークベンチ]→[エディタ]→ [テキストエディタ]で表示されるダイアログで、[行番号の表示]を有効にするとJavaエディタ上でも行番号が確認できます。同じダイアログで[印刷マージンの表示]も有効にしておくと、Javaエディタ上で印刷範囲が表示されるため、印刷時に見やすいコードを書くことができます。

■行を単位とした編集

 エディタでは、行を単位とした編集を活用すると便利です。[Alt]+[↑]や[Alt]+[↓]で、選択範囲またはカーソルのある行を上下に移動することができます。[Ctrl]+[Alt]+[↑]では、対象行を複製することもできます。[Alt]+[Shift]+[↑]→[↓]で選択範囲を広げ、[Alt]+[↑]→[↓]で移動する、といった使い方をすると便利でしょう。なお、カーソルのある行の削除は,[Ctrl]+[D]で削除できます。

■コメントアウトの操作

 ソースをコメントアウトするときの操作は2種類が提供されています。[ソース]-「コメントの切り替え」([Ctrl]+[/])では行頭に「//」を付けたり、取ったりすることができます。[ソース]-「ブロックコメントの追加」([Ctrl]+[Shift]+[/])では選択範囲を「/* ...*/」で囲むことができます。後者は[ソース]-「ブロックコメントの除去」([Ctrl]+[Shift]+[?])で元に戻すことができます。

■フォールディングの設定

 デフォルトでソースコードのヘッダコメントやインポート文については折り畳み表示が有効になっており、狭いエディタを有効活用できます。常に展開されていた方が良い場合には、[ウィンドウ]→[設定]→[Java]→[エディタ]→[フォールディング]で表示されるダイアログで折り畳み表示対象をカスタマイズすることができます。

■カラーリングの設定

 フィールドの属性(static、final)などに応じて文字の色を変えたり、deprecated指定されているクラスやメソッドに対して取り消し線を表示させたりすることができます。これらは、[ウィンドウ]→[設定]→[Java]→[エディタ]→[カラーリング]で表示されるダイアログでカスタマイズすることができます(画面3)。

画面3 カラーリングの設定 (クリックすると拡大表示します)

コードアシストを使いこなす

■コンテンツアシスト

 第1回の記事でも触れましたが、コーディング中に[Ctrl]+[Space]を押下すると、その文脈で利用できるコードを補完してくれます(画面4)。また、パラメータヒントは、[Ctrl]+[Shift]+[Space]でポップアップします。

画面4 コードの候補が表示される (クリックすると拡大表示します)

 また、オブジェクトのメンバ名の補完だけでなく、無名クラスを実装するときにオーバーライドするメソッドのスケルトンを生成したり、try-catch といった定型コードのスケルトンなどを生成したりすることもできます。単純なタイプミスなどは、[Ctrl]+[1]を押下することでEclipseが適切に修正候補を表示し、選択するだけで修正が完了します(画面5)。

画面5 タイプミスに対して修正候補が表示される (クリックすると拡大表示します)

■import文の編集

 import 文がない場合には、パッケージ名を含めた状態でクラス名補完を行うと、自動的にimport文を追加してくれます。import文がゴチャゴチャになってしまった場合は、[ソース]→[インポートの編成]または[Ctrl]+[Shift]+[O]でいつでも整理できます。

■ソースの整形

 ソースの整形についても、[ソース]→[フォーマット]または[Ctrl]+[Shift]+[F]で、設定したフォーマットのとおりに整形してくれます。ソースの一部分を選択してその部分だけを整形したり、プロジェクトやフォルダを選択して一括で整形したりすることもできます。

 [ウィンドウ]→[設定]→[Java]→[コード・スタイル]→[コード・フォーマッター]で表示されるダイアログで、整形ルールをカスタマイズできます。エディターのタブ幅をはじめ、空白、空行、改行のポリシーなど200項目以上の設定が可能です。設定した項目は名前を付けて保存したり、エクスポート/インポートができるようになっています。チームでコーディングスタイルをそろえるのに重宝します。

 また、 Javadocもフォーマットできます。指定した横幅に詰め込んだり、<UL>などのHTMLタグを記述したりしている場合は、それに応じて整形してくれます。Javadocコメント内に<pre>タグを用いてJavaソースを記述している場合、そのソースも整形してくれるのもうれしい機能です。

■その他のコードアシスト

 その他のコードアシスト機能としては、スーパークラスのメソッドをオーバーライドしたい場合は[ソース]→[メソッドのオーバーライド/実装]が、データメンバのGetter/Setterメソッドが欲しいときは[ソース]→[GetterおよびSetterの作成]が自動的にコードを作成してくれます。委譲メソッドを作成したり、コンストラクタを作成したりすることも可能です。また、パッケージ・エクスプローラービューで、メソッドをドラッグしてほかのクラスにドロップするだけで、簡単にメソッドのコピーを行うこともできます。

 このように、コードを書く作業に余計な手間を掛けることなく、ロジックを考えることに専念することができます。 

Eclipse 3.1の統合環境を使いこなす

サードパーティのJARを利用する

 サードパーティのJARを利用する方法は大きく分けて2つあります。プロジェクト内部にJARを配置する方法と、プロジェクト外部のJARを参照する方法です。

■プロジェクト内部にJARを配置

 プロジェクト内部にJARを配置する方法は、デプロイする段階でJARを同梱したい場合に使用します。[ファイル]→[インポート]→[ファイルシステム]で、インポートしたいJARファイルのあるディレクトリを選択し、表示された一覧からJARを指定すると、プロジェクトに取り込むことができます。その後、プロジェクトを右クリック-[プロパティ]→[Javaのビルド・パス]→[ライブラリー]→[JARの追加]で、インポートしたJARを指定することで、利用できるようになります。

■プロジェクト外部のJARを参照

 プロジェクト外部のJARを参照する方法は、デプロイ時にそのJARを同梱しない場合に使用します。参照方法には、JARファイルを直接指定する方法、変数を使用する方法、ユーザー・ライブラリーを指定する方法の3つがあります。プロジェクトを右クリック→[プロパティ]→[Javaのビルド・パス]→ [ライブラリー]で表示されるダイアログで[外部JARの追加]/[変数の追加]/[ライブラリーの追加]を指定することで利用できるようになります。

 設定を他人と共有する場合には、Eclipseのインストールディレクトリなどの環境依存の部分を吸収するため[ECLIPSE_HOME/plugins/org.apache.ant_1.6.5/lib/ant.jar]のECLIPSE_HOMEのように変数を使用すると良いでしょう。また、依存するJARファイルが多い場合には、複数のJARファイルをユーザー・ライブラリーとしてまとめておくと、利用したいプロジェクトに対しては,このユーザー・ライブラリーだけをビルド・パスに追加すればよい、というようなことを実現できるため良いでしょう。

■[コードの断片]の実行

 Java プロジェクトで、[ファイル]→[新規]→[スクラップブック・ページ]を追加すると、.jpageという拡張子の付いたファイルができます。これは Javaのクラスを作成することなく、ちょっと思い付いたコードや試したいコードを断片としてメモし、それを即座に実行する、といった使い方ができるページです。

 例えば、[java.text.DecimalFormat.getCurrencyInstance ().format(19800);]と入力した後、その行を選択して右クリック→[表示]または[Ctrl]→[Shift]→[D]を選択すると、 “(java.lang.String) ¥19,800”といった結果を得ることができます。

ビルド機能

 Java ソースファイルのコーディング中でも、文法エラーがある場合、エディタの左端に赤い×印が付きます。保存すると、自動的にコンパイルが行われ、コンパイルエラーが発生している場合、ナビゲータビューやパッケージビュー上でエラーが発生している個所に赤い×印が付くとともに、修正が必要な個所がタスクビューに表示され、一目で分かるようになっています(画面6)。

画面6 パッケージビュー、タスクビューの問題表示 (クリックすると拡大表示します)

 タスクビューで、エラータスクをダブルクリックし、エラーの場所にジャンプして修正しましょう。この例では、Runnableインターフェイスのrun ()メソッドを実装する必要があります。[ソース]→[メソッドのオーバーライド/実装]を実行し、[run]にチェックを付けて[OK]を押すと、スケルトンコードを生成してくれます。必要なコードを実装して[保存]し、赤い印が全部消えれば、実行できるようになっています。

タスクで作業メモ

 開発中、作業を後回しにするといったとき、その内容とソースコード位置を合わせて「タスク」としてメモしておくことができます(画面7)。

画面7 タスクにメモを残しながら作業できる (クリックすると拡大表示します)

 タスクを設定したい行にカーソルを移動し、[編集]メニュー、またはエディタの左端での右クリックメニューから、[タスクの追加]を選択し、説明を追加すると、タスクビューのエントリとして追加できます。タスクビューのエントリをダブルクリックすることで、カーソルが該当行へジャンプします。

 ソースコード中にコメントとして“TODO:”や“FIXME”、“XXX”というキーワードを付けると、これらもタスクとして登録されます。キーワードは[ウィンドウ]→[設定]→[Java]→[コンパイラー]→[タスク・タグ]でカスタマイズすることができます。

 タスクに似たような機能として、「ブックマーク」があります。ブックマークビューにリストされることを除いて、タスクと同様の機能を持っています。ブックマークビューが表示されていないときは、[ウィンドウ]→[ビューの表示]→[その他]→[基本]で[ブックマーク]を選択することで表示できます。

デバッグ支援機能

 Eclipseは、ブレークポイントを設定したり、ステップを実行したりといったデバッグ支援機能を持っています。

 ソース上のブレークポイントを設定したい行で、[実行]→[行ブレークポイントの切り替え]([Ctrl]+[Shift]+[B])を選択すると、エディタの左端に青い○印が付きます。この状態で、[実行]→[デバッグ]を選択すると、自動的にデバッグパースペクティブに切り替わり、設定したブレークポイント上で実行がいったん停止します。この時点で、デバッグビューでスタックトレースを観察したり、変数ビューで変数の中身を見たり、表示ビューで式を評価したり、ステップ実行したりできます(画面8)。

画面 8 デバッグの機能 (クリックすると拡大表示します)

 ソース上で変数にマウスポインタを当てると、その変数の値がポップアップ表示されます。また、変数や式を選択して[Ctrl]+[Shift]+[I]と入力すると,その詳細な値がポップアップ表示されます。さらにここで[Ctrl]+[Shift]+[I]を入力すると、その式をそのまま式ビューに追加できるようになっています。変数ビューでは、値がnullな配列の要素を非表示にするフィルタがあり、ArrayListのようなコレクションクラスの内容も見やすく表示できます(画面9)。

画面9 コレクションクラスの表示

 また変数ビューで,変数の値が表示されている部分を書き換えることができます。値を書き換えて[Ctrl]+[S]を入力すれば,その値を変数に代入できます。

コードを飛び回れ

■関連するクラスへの移動

 コード中のメソッド呼び出しを右クリックして[宣言を開く]([F3])を選択すると、そのメソッドの実装部分にジャンプすることができます。オブジェクトに対して同じ操作をすると、そのオブジェクトのクラス定義にジャンプします。

 別のファイルにジャンプした場合は、エディタ上の別タブとして開きますので、元のタブを選択([Alt]+[←])すれば元の位置に戻ることができます。

 メソッド定義を右クリックして[検索]→[参照]→[ワークスペース]([Ctrl]+[Shift]+[G])を選択すると、そのメソッドを呼び出している個所を検索し、検索ビューに表示します。検索結果はエディタ上で黄色い矢印で表示されます。クラス名をキー入力して探したいときは、サーチ([Ctrl]+[H])が便利です。

 [ナビゲート]→[クイック・アウトライン]([Ctrl]+[O])を実行することで、ファイルのアウトラインをポップアップウィンドウで確認できます。もう1度[Ctrl]+[O]を入力することで、スーパークラスのメンバも表示され、そのメソッドをクリックしてジャンプすることができます。

 [ナビゲート]→[クイック型階層]([Ctrl]+[T])でポップアップする型階層ウィンドウを使うと、継承関係にあるほかのクラスにジャンプすることができます。もう1度「Ctrl]+[T]を入力することで、階層の上下関係を切り替えることができます(画面10)。また、階層ビューではインターフェイスを処理対象とすることができるので、そのインターフェイスを実装しているクラスを表示し、そこへ移動することも容易です。

画面10 階層構造へジャンプ

 [ナビゲート]→[呼び出し階層を開く]([Ctrl]+[Alt]+[H])を実行することで、そのJava要素の[コールグラフ]、つまり、そのメソッドが呼び出している、またはそのメソッドを呼び出しているメソッドを階層表示することができます。これは以前Call Hierarchy Plug-inとして提供されていた機能です。

■注釈で移動

 コンパイルエラーがある場合や、検索を実行した場合などにもエディタの左側にマークが付きます。これらのマークを注釈といいます。タスクビュー、問題ビュー、検索ビューに表示されている行をダブルクリックすることで、該当行に移動することができます。

 [ナビゲート]→[次の注釈]([Ctrl]+[.])という操作をすることで、編集中のファイルの注釈へ移動することができます。このとき、移動先の対象となる注釈を選択することができます。移動対象としてタスクを選択しておけば(画面11)、TODO:コメントがある行に即座にジャンプすることができます。

画面11 移動先の注釈を選択できる

リファクタリング機能

 メソッドの名前を変更するなど、ソースの広い範囲に影響が加わるリファクタリングも、簡単に実施できます。ソース上で右クリックして、[リファクタリング]([Alt]+[Shift]+[T])で表示されるリファクタリングメニューから実行したいリファクタリングを選択すると、ワークスペース上のソースから影響範囲を探し出し、自動的に修正を行ってくれます。表示されるダイアログで[プレビュー]ボタンをクリックすると、変更内容を目で確認してからリファクタリングを実行することができます。

 メソッドのプルアップ(スーパークラスへの移動)や、別クラスへの移動なども半自動です。Javadocの@paramタグも適切に修正される、メソッドシグニチャを変更したときにサブクラスも同様に修正されるなど、関連する部分も自動的に処理されるので、奔放にリファクタリングを行うことが可能となっています。

J2SE 5.0への対応

 Eclipse 3.1では、J2SE 5.0に完全対応しています。Javaプロジェクトの新規作成においてJ2SE 5.0を選択する(画面12)ことで、以下のようなJ2SE 5.0の機能に対応します。

  • J2SE 5.0のAPIに対応したコンテンツアシスト
  • Enumeration、Annotation、Genericsに対応したウィザード、リファクタリング
  • Autoboxing、GenericなどJ2SE 5.0の文法に対応したJavaエディタ

画面12 プロジェクトの作成でJ2SE 5.0を選択

まとめ

 今回は、EclipseのワークベンチとJava開発環境について見てきました。Eclipse 2.1と比較し、さまざまなところで使い勝手が向上しています。カスタマイズできる項目も大幅に増えているので、より自分好みに設定することが可能です。

 次回は、Eclipse 3.1をターゲットとして開発されたWeb開発のためのプロジェクト、WTP(Web Tools Platform Project)を用いたWebアプリケーション開発について説明します。

posted on 2005-11-07 16:40 上海滩拾贝 阅读(2535) 评论(0)  编辑  收藏 所属分类: Struts相关


只有注册用户登录后才能发表评论。


网站导航: