このセクションでは、ワークベンチ内の Java エレメントを編集します。
Java エディターでファイル junit.samples.VectorTest.java を開くには、「パッケージ・エクスプローラー」ビュー内のファイルをダブルクリックします。
構文の強調表示に注目してください。 それぞれ別個に与えられる Java ソースのパーツの例は次のとおりです。
「アウトライン」ビューをよく見てください。
このビューは、パッケージ宣言、インポート宣言、フィールド、タイプ、およびメソッドを含む、Java ファイルの概要を表示します。
「アウトライン」ビューは、Java エレメントが static、abstract、final などであるかどうかも示します。
また、このビューは、メソッドが基本クラス () からオーバーライドされるか、あるいはメソッドのインプリメント時にインターフェース (
) からオーバーライドされるかも示します。
「アウトライン」ビュー・ツールバーの「フィールドの非表示」、「static メンバーの非表示」、および「非 public メンバーの非表示」ボタンを切り替えて、ビューの表示をフィルターに掛けます。
「アウトライン」ビューの「ソート」ボタンを切り替えて、Java ファイルでの表示順ではなくアルファベット順に Java エレメントをソートします。
Java ファイル全体を表示してソース・コードを編集したり、ビューを単一のエレメントに絞り込むこともできます。 ツールバーの「選択されたエレメントのソースのみを表示」ボタンをクリックします。
次に、「アウトライン」ビューでエレメントを選択し、選択したエレメントのみが Java エディターに表示されていることを確認します。
「選択されたエレメントのソースのみを表示」ボタンを押して、再び Java ファイル全体を表示します。
「アウトライン」ビューで各種エレメントを選択し、それらがエディター内の全ファイル・ビューにもう一度表示されるかどうかを確認してください。 これで、Java エディターの左側の枠にある垂直ルーラー上の範囲標識によって「アウトライン」ビューの選択部分が示されます。
「アウトライン」ビューのツールバーのアルファベット順「ソート」ボタンがオフに切り替わっていることを確認してください。
Java エディターで VectorTest.java ファイルの終わり (ただし、型の右大括弧の前) に次を入力することでメソッドの追加を開始します。
public void testSizeIsThree() {
エディター領域にメソッド名を入力すると、新規メソッドが「アウトライン」ビューの一番下に表示されます。
「保管」ボタンをクリックします。
コンパイル単位が自動的にコンパイルされ、エラーが「パッケージ・エクスプローラー」ビュー、「タスク」ビュー、および垂直ルーラーに表示されます。 「パッケージ・エクスプローラー」ビューでは、エラーは、そのエラーを含むコンパイル単位のプロジェクトにまで伝播します。
次を入力して新規メソッドを完成させます。
assertTrue(fFull.size() == 3); }
ファイルを保管します。
エラー標識が消えたことを確認してください。
このセクションでは、ローカル・ヒストリー・フィーチャーを使用して、以前に保管しておいた個々の Java エレメントに切り替える方法を説明します。
「アウトライン」ビューで、作成したばかりのメソッドを選択して、コンテキスト・メニューから「削除」をクリックすることによってこれを削除します。
Java エディターで、VectorTest.java ファイルの終わりに次を入力して、新しいバージョンのメソッドを追加します。
public void testSizeIsThree() { fFull.add(0, new Integer(0)); fFull.remove(new Integer(3)); assertTrue(fFull.size() == 3); }
ファイルを保管します。
「アウトライン」ビューで、メソッド testSizeIsThree()
を選択して、そのコンテキスト・メニューから「ローカル・ヒストリーからの置換」を選択します。
「ローカル・ヒストリーから Java エレメントを置換」ダイアログのローカル・ヒストリー・リストには、エレメントの各種保管状況が表示されます。 「Java ソースの比較」ペインには、選択されたヒストリー・リソースと既存のワークベンチ・リソースとの差異の詳細が表示されます。
「ローカル・ヒストリー」ペインで、削除したバージョンを選択し、次に「置換」ボタンをクリックします。
Java エディターで、メソッドが選択されたヒストリー・バージョンに置換されます。
ファイルを保管します。
Java エディターで junit.samples.VectorTest.java ファイルを開きます。
「アウトライン」ビューで testSizeIsThree()
メソッドを選択して、このメソッドに移動します。
以下の行をメソッドの終わりに追加します。
Vector v = new Vector(); for (int i=0; i<3; i++) v.addElement(new Object()); assert
カーソルを assert
という語の終わりに置き、Ctrl+Space を押してコンテンツ・アシストをアクティブにします。
プロポーザルのリストを持つコンテンツ・アシスト・ウィンドウが表示されます。 リストをスクロールして選択可能な項目を表示します。
コンテンツ・アシスト・ウィンドウをアクティブにしておいて、assert
の後に 't' を入力します (両者の間にはスペースを挿入しないでください)。
リストが絞り込まれ、'assert' で始まるエントリーのみが表示されます。
リスト内の項目を選択し、各種項目の上にマウス・カーソルを移動すると、項目ごとに使用可能な Javadoc ヘルプが吹き出しで表示されます。
リストから assertTrue(boolean)
を選択し、Enter を押します。
assertTrue(boolean)
メソッドのコードが挿入されます。
行を次のように入力します。
assertTrue(v.size() == fFull.size());
ファイルを保管します。
Java エディターで junit.samples.VectorTest.java ファイルを開きます。
次を入力して新規メソッドの追加を開始します。
public void testValues() { Integer[] expected= new Integer[3]; for
カーソルを for
の終わりに置き、Ctrl+Space を入力してコンテンツ・アシストを使用可能にします。
for - iterate over array
エントリーを選択します。
テンプレートがエディターに挿入され、i
が強調表示されます。
ローカル配列名が自動的に推測されます。
Enter を押してテンプレートを確認します。
for
ループを次のように入力します。
public void testValues() { Integer[] expected= new Integer[3]; for (int i= 0; i < expected.length; i++) { expected[i]= i + 1; } Integer[] actual= to
カーソルを to
の終わりに置き、Ctrl+Space を入力してコンテンツ・アシストを使用可能にします。
toarray - convert collection to array
を選択します。
テンプレートがエディターに挿入され、type
が強調表示および選択されます。
Integer
を入力して選択部分を上書きします。
配列コンストラクターの型が同調して変更されます。
Tab を入力して collection
を強調表示および選択し、fFull
を入力して選択部分を上書きします。
Enter を入力してテンプレートを確認します。
以下のコードの行を追加してメソッドを完成させます。
assertEquals(expected.length, actual.length); for (int i= 0; i < actual.length; i++) assertEquals(expected[i], actual[i]); }
ファイルを保管します。
Java エディターで junit.samples.VectorTest.java ファイルを開きます。
「アウトライン」ビューでインポート宣言を選択し、コンテキスト・メニューから「削除」を選択することでこれを削除します。
エディターのコンテキスト・メニューから、「インポートの編成」を選択します。
必須の import ステートメントが、パッケージ宣言の下のコードの先頭に追加されます。
また、「インポートの編成」は、「アウトライン」ビューのインポート宣言のコンテキスト・メニューから直接呼び出すこともできます。
注:「設定」(「ウィンドウ」>「設定」>「Java」>「インポートの編成」) でインポート宣言の順序を指定できます。
ファイルを保管します。
このセクションでは、junit.framework.TestSuite のコンストラクターのコードを改良します。 コードが意図することをより明確にするために、テスト・ケースを収集するコードを基本クラスから抽出して、そのコードを collectTestMethods という新規メソッドにします。
junit.framework.TestSuite.java ファイルで、以下の範囲のコードを選択します。
Class superClass= theClass; Vector names= new Vector(); while (Test.class.isAssignableFrom(superClass)) { Method[] methods= superClass.getDeclaredMethods(); for (int i= 0; i < methods.length; i++) { addTestMethod(methods[i], names, constructor); } superClass= superClass.getSuperclass(); }
選択の拡張フィーチャーを使用してコード範囲を選択します。
TestSuite(Class)
をナビゲートします。while
の直前に置きます。エディター内の選択部分のコンテキスト・メニューから、「リファクター」>「メソッドの抽出...」を選択します。
「メソッド名」フィールドに「collectInheritedTests」と入力し、「次へ」をクリックします。
リファクタリングの「プレビュー」ページに、加えられる変更点が表示されます。
「終了」を押してメソッドを抽出します。
「アウトライン」ビューで抽出されたメソッドを選択して、このメソッドに移動します。
Java エディターで junit.samples.money.MoneyTest.java ファイルを開きます。
MoneyTest クラス宣言の最初の行で、TestCase スーパークラス指定を選択し、以下のいずれかを行います。
注: このコマンドは、メソッドおよびフィールドに対しても機能します。
TestCase スーパークラスがエディター・エリアで開かれ、「アウトライン」ビューにも表示されます。
TestCase.java のエディターのタブをクリックし、そのエディターをアクティブにします。 クラス宣言が選択されていることを確認してから以下を実行します。
「階層」ビューが開き、TestCase クラスが表示されます。
注: 「階層」ビューでは、型およびメソッドでもエディターを開くことができます。
Java ビュー
Java エディター
リファクタリング・サポート
テンプレート
Java エディターの使用
エレメントの表示および非表示
個別エレメントまたは全 Java ファイルの表示
Java ビューでのエレメントのソート
ローカル・ヒストリーの使用
コンテンツ・アシストの使用
テンプレートの使用
インポート・ステートメントの管理
リファクタリング
プレビュー付きのリファクタリング
「階層」ビューの使用
Java エレメントの型階層を開く
現行のテキスト選択で型階層を開く
選択されたエレメントでエディターを開く
Java「アウトライン」ビュー
Java コンテンツ・アシスト
テンプレート設定
インポート編成設定
Java エディター設定
メソッドの抽出エラー
「型階層」ビュー