NetBeans IDE 6.0 でのソースの編集
このチュートリアルでは、NetBeans IDE 6.0 の新しくなって改良されたエディタを使用して Java ソースを作成、編集するプロセスを示します。
目次
注: 各ビデオ画面の中央にある矢印ボタンをクリックすると再生が開始します。各ビデオには重要な手順や概念を示すテキストが含まれ、これらの箇所では再生が自動的に一時停止します。ビデオの再生を再開するには、画面に表示されているテキストをクリックするか、ビデオ画面の下にあるコントローラを使用してください。
チュートリアルに必要なソフトウェア
開始する前に、次のソフトウェアをダウンロードするか、コンピュータにインストールしてください。
- NetBeans IDE 6.0 ( ダウンロード)
- Java Standard Development Kit (JDK) バージョン 5.0 またはバージョン 6.0 ( ダウンロード )
コード補完とコード生成の使用
この節では、コード記述の生産性を向上できる Java エディタの新機能について説明します。新機能には、「コード補完」ダイアログと「コード生成」ダイアログを使用したコード生成、インポート文の管理、高度なツールを使用した行や選択したコードブロックの操作があります。
コード補完を使用したコードの生成
コード補完機能は、通常、シンボルやキーワードなどが欠けているコードを自動的に埋めるのに便利です。NetBeans IDE 6.0 では、コード補完機能を使用してメソッド全体を生成することもできます。これは、たとえばコンストラクタを生成したり、メソッドをオーバーライドしたり、メソッドを実装したりする場合に便利です。このチュートリアルでは、たとえば「コード生成」ダイアログを使用した任意のコンストラクタの生成など、NetBeans 6.0 のコード補完のその他の新機能についてもあとで説明します。
最初に、電子メールメッセージを表す JavaBean を作成します。データの保存に必要な非公開フィールドを含む Bean スケルトンはすでに作成されているので、適切なコンストラクタを作成する必要があります。その手順とデモは次のとおりです。
コード補完を使用してコンストラクタを生成する
- ファイル内でコンストラクタを生成する位置にカーソルを置き、Ctrl- スペースキーを押します。
- 表示されるコード補完ウィンドウで、フィールドを初期化するコンストラクタを選択します (この例では
Mail(String subject, String body) - generate)。IDE では、デフォルトのコンストラクタを生成するか、初期化されていないすべてのフィールドを初期化するコンストラクタを生成するかを選択できます。
- Enter キーを押します。
選択したコンストラクタが IDE によって指定した位置に実装されます。IDE では、スーパークラスやスーパーインタフェースのメソッドをオーバーライドまたは実装することもできます。
コード生成ダイアログを使用したコードの生成
IDE の Java エディタでは、頻繁に使用する構文を自動的に生成できます。この節では、その手順を示します。
その後、フィールドの取得メソッドと設定メソッドを生成し、クラスをコレクションで使用できるようにします。これには、equals() メソッドと hashCode() メソッドが必要です。IDE の Java エディタでは、頻繁に使用する構文を自動的に生成できます。この例の手順に従うとき、IDE の「コード生成」ダイアログにはほかにも多くの機能があることに注目してください。たとえば、Delegate メソッドを作成したり、任意のフィールドセットを初期化するためのコンストラクタを生成したりできます。
取得メソッドと設定メソッドを生成する
- Alt-Insert キーを押してコード生成メニューを開きます。
- 表示される項目の一覧から生成する要素を選択します (この例では「
取得メソッドおよび設定メソッド」)。
- 表示されるダイアログで、取得メソッドと設定メソッドを生成するフィールドを選択し、「了解」をクリックします。
取得メソッドと設定メソッドのコードが IDE によって自動的に生成されます。
次に、Alt-Insert を使用して equals メソッドと hashCode メソッドを生成します。
equals メソッドと hashCode メソッドを生成する
- Alt-Insert キーを押してコード生成メニューを開きます。
- 表示される項目の一覧から生成する要素を選択します (この例では
「equals() および hashCode()...」)。
- 表示されるダイアログで、equals メソッドと hashCode メソッドの基準にするフィールドを選択し、「了解」をクリックします。
必要な equals メソッドと hashCode メソッドが IDE によって生成されます。
取得メソッド、設定メソッド、equals メソッド、hashCode メソッドの生成
インポートセクションの管理
IDE の Java エディタでは、1 つまたは複数のクラスのインポート文を複数の方法で追加できます。どの方法でも、電球のエラーマークをクリックするか、適切なキーの組み合わせを押すと、インポートできるクラスの一覧が表示されます。また、エディタには、ソースに必要がないインポートを削除するときに役立つエラーヒントも表示されます。
前の節で必要に応じてファイルを変更したら、エディタの右余白にあるエラーストライプに、ファイル内に未使用のインポートがあることを示す警告が表示されたはずです。この問題を解決するには、IDE の新しい「未使用のインポートを削除」コマンドを使用して、どのような処理が行われるかを見てみます。
未使用のインポートを削除する
- インポートされなかったクラスの行にカーソルを置き、Alt-Enter キーを押します。注釈ストライプ (エディタの左側) の中の警告マークをクリックすることもできます。
- ポップアップメニューから「未使用のインポートを削除」を選択します。インポートセクションから未使用のインポートを 1 つ削除するか、すべて削除するかを選択できます。
未使用のインポート文が IDE によってファイルから削除されます。
IDE の Java エディタには、インポートを管理する方法がほかにもいくつか用意されています。たとえば、Ctrl-Shift-I キーを押すと複数の型を一度にインポートできます。また、カーソルを型識別子の上に置いて Alt-Shift-I キーを押すと、その特定の型をインポートできます。
エディタの行ツールの使用
ここでは、ユーザー名とパスワード用に文字列型の非公開静的フィールドを作成します。エディタの行ツール機能を使用すると、カーソルがある行をすぐに複製し、すぐ下の新しい行にコピーしてペーストするか、または移動できます。この機能は、たとえば配列を初期化するときなど、コードのほとんどが同じで固有の部分だけを調整する必要がある場合に、行を繰り返し複製または移動するときに便利です。その後、必要に応じてフィールド値を編集できます。
現在の行または選択した複数の行を複製する
- 複製する行または選択範囲の上にカーソルを置きます。
- Ctrl-Shift キーを押したまま上矢印キーまたは下矢印キーを押すと、元の行の上または下にコードのコピーがペーストされます。
指定した行または選択範囲が、指定した位置に複製されます。
現在の行または選択した複数の行を移動する
- 移動する行または選択範囲の上にカーソルを置きます。
- Alt-Shift キーを押したまま上矢印キーまたは下矢印キーを押すと、現在の行または選択範囲が、元の行の上または下に移動します。
指定した行または選択範囲が、指定した位置に移動されます。
スマートコード補完とライブテンプレート
この節では、プロジェクトの Main.java ファイルで、たとえばサーバー上に新しい電子メールがあるかどうかを確認するコードを記述します。また、このチュートリアルでこれまでに説明した一般的な機能の一部についてさらに詳しく説明します。
新しいエディタのコード補完機能を使用する簡単なプロセスについてさらに詳しく説明する前に、UI を初期化する必要があります。このときコード補完を使用すると簡単に実行できます。また、設定の値を文字列に入れる必要があります。
このあとの手順では、データベースにアクセスするクラスを Main.java ファイルに追加します。このとき、IDE エディタのその他の便利な機能も見ていきます。
スマートコード補完
この節では、スマートコード補完を使用してメソッドの本文を簡単にファイルに追加します。
標準の補完リストボックスは黒い線で 2 つに区切られています。最初のセクションにはスマート補完の項目が含まれます。これらの項目の一覧を決定するため、コード補完機能では、補完が起動されたときの現在のコンテキスト (キャレットの位置) を使用します。スマート補完機能の機能と詳細については、このあとの「スマート」が付く節を参照してください。
スマートコード補完を使用してメソッドを追加する
- ファイル内でコンストラクタを生成する位置にカーソルを置き、Ctrl- スペースキーを押します。
- 適切なシンボルが見つからない場合は、もう一度 Ctrl- スペースキーを押すと、プロジェクトのクラスパス内のシンボルが、インポートの有無に関係なくすべて表示されます。
- 表示されるコード補完ウィンドウで、適切な項目 (この例では
Mail(String subject, String body) - generate) を選択し、Enter キーを押します。
選択したコンストラクタが IDE によって指定した位置に実装されます。
ライブテンプレート
IDE のライブテンプレート機能を使用すると、テンプレート識別子の最初の数文字を入力するだけで、コードスニペット全体を入力できます。この節では、ライブテンプレートを使用して、サーバーに保存されているメールの一覧に対して操作を反復する For ループを追加します。
ライブテンプレートを使用して反復子を追加する
- テンプレート名の最初の数文字を入力し、Ctrl- スペースキーを押してコード補完を起動します。
- 適切なテンプレートを選択します。該当するコレクションがある場合は、自動的に挿入されます。テンプレート内で編集可能な部分は青で表示されます。
- Tab キーを押して編集可能な青いフィールド間を移動し、必要に応じてテンプレートのコードを更新します。
- Enter キーまたは Esc キーを押してテンプレートの編集を終了します。
ファイル内のカーソル位置にテンプレートのコードが追加されます。
注: 青いボックスの外を編集するまでテンプレートの編集モードは継続します。編集可能な青いボックスの外にカーソルを移動しただけでは編集モードは終了しません。編集モードが終了した場合は、Tab キーを使用してテンプレートに戻ることができます。
コードの強調表示
Java エディタの強調表示機能は、エディタの検索機能の代わりに簡単に使用できる、より優れた機能と考えることができます。コードの強調表示では、現在のカーソル位置に基づき、ファイル内にある類似の要素すべてに背景色が表示されるので、位置を一目で確認できます。また、エラーストライプにも強調表示が表示されるので、ファイル全体の概要を把握できます。
IDE で、connect メソッドがスローする IOException がキャッチされていないことを示すエラーが注釈ストライプに表示されます。この例外は、キャッチするか、外側のメソッドの throws 句に追加する必要があります。この操作は Alt-Enter キーを押すと表示されるヒントを使用して行います。カーソルを例外の上に置くと、その例外をスローする文がすべて強調表示されます。カーソルをメソッドの戻り値の型の上に置くと、メソッドの終了点がすべて強調表示されます。カーソルを、フィールドなどの要素の上に置くと、ファイル内でそのフィールドが使用されている箇所がすべて強調表示されるので、簡単に特定し、ファイル内を効率よく移動できます。また、ソース内での使用位置を示すマーカーがエラーストライプに表示されます。
例外をスローするすべての文を強調表示する
- メソッド宣言の throws 句内の例外の上にカーソルを置きます。
この例外がスローされる可能性があるすべての箇所が強調表示されます。
メソッド定義で戻り値の型の上にカーソルを置くと、メソッドの終了点がすべて強調表示されます (戻るすべての位置で例外をスローするすべての式)。
メソッドの終了点を強調表示する
- メソッド定義の戻り値の型の上にカーソルを置きます。
エディタで、戻るすべての位置で例外をスローするすべての式が強調表示されます。この例では、実行がメソッドの終わりを通過する可能性があるので、閉じ括弧が強調表示されます。
名前の即時変更
一般に、非公開メンバー (フィールド、メソッド、変数など) の名前は複数の方法で変更できます。まず、検索と置換を使用する方法がありますが、この方法では、注意しないと置換の必要がないものを置換してしまう可能性があります。次に、「名前を変更」リファクタリングを使用する方法がありますが、この方法は、ほとんどのシナリオには重過ぎます。この例で使用する 3 番目の方法では、エディタの新しい「名前の即時変更」機能を使用します。この機能は、カーソルを識別子の上に置き、Ctrl-R キーを押すだけで使用できます。
名前を即時変更する
- 識別子の上にカーソルを置き、Ctrl-R キーを押します。この識別子の出現箇所がすべて青で強調表示され、名前の即時変更モードが有効であることを示します。
- 必要に応じて識別子を編集し、メンバーのすべての出現箇所を変更します。
- Enter キーまたは Esc キーを押して識別子の編集を終了し、名前の即時変更モードを終了します。
ファイル内でメンバーの出現箇所がすべて更新されます。
ページの先頭へ
次の手順
ページの先頭へ