2009年8月アーカイブ

Java プログラムをコーディングする際には、「コメント」を頻繁に活用されると思います。

例えば、

 ・コードについてのちょっとしたメモを書いておこうかな。

 ・デバッグ用に書いたコード(print文)を、実行しないように変更してしまおう
  (でもまた使うかもしれないから削除まではしないでおくけど)。

などのときに使いますね。

Javaのコメントには次の3種類あります。

 (1)「//」以降、行末までをコメントとする形式
 (2)「/*」と「*/」で対象を囲む形式
 (3)「/**」と「*/」で対象を囲むJavadoc用のコメント形式

今日は、(1)のコメント形式についてご紹介します。

 

コメントの始まりを示す // は、行頭でも、行の途中でも書くことができますが、
頻繁に使用するのは行頭に書くケースではないでしょうか。

Eclipse では、行頭に // を追加するショートカットキーを用意しています。
それは、コメント化したい行にカーソルを移動した後に、

  CTRL - /

です。

「コメントはスラッシュから始まるので、スラッシュの前にCTRLキーを押す」と理解すれば、
すぐに覚えられます。

(なお、 CTRL - 7 でも同じことができます。しかし、 CTRL - / の方が
より直感的に使用できますので、こちらのキーをお勧めします。)

また、行頭で // によりコメント化されている行にカーソルを移動した後、

  CTRL - /

とすれば、コメントを外すことができます。これも、覚えやすいですね。

 

1行だけをコメント化するのであれば、手入力でよいかもしれません。しかし、
複数行を一気にコメント化したいときには、このショートカットキーが威力を発揮します。
一気にコメント化するには、

 コメント化したい最初の行にカーソルを移動し、シフトキーを押しながらカーソルを
 移動させてすべての行を選択した後、  CTRL - /

です。

 

さて、ここでショートカットを使ったときの細かな動作を挙げておきます。

 (1)行頭からスペースやタブでインデントをつけており、その後ろに // がある場合、
   その // は「行頭にある」と判断されます。

   そのため、この状態で  CTRL - / とすると、コメントが外れます。

 (2)行頭に // のある行と // のない行を一緒に選択して CTRL - / とすると、
   コメント化されます。

   すなわち、行頭に // のある行では、さらに // が付加されて //// となります。
   Java 文法としては問題ありませんが、コメントを外すのがちょっと面倒になって
   しまいますので気をつけてください。


このショートカットはとても便利な機能ですので、ぜひ使いこなしてください。

Eclipseでコーディングをしていて、複数のJavaソース・ファイルをJavaエディターでどんどん開いているうちに、

 あれっ? 自分はどのプロジェクトに入っているソースを見ていたんだろう??

と、わからなくなってしまった経験はないでしょうか?

このような問題を解決するために、Eclipse JDT 3.4では
    Javaエディターのパンくずリスト表示
という機能が追加されています。


この機能を使うと、現在開いているJavaソース・ファイルが属しているプロジェクト、
パッケージに関するパンくずリストがJavaエディターの上側に表示されます。

「パッケージ・エクスプローラー」ビューなどを参照せずとも、自分が今見ているJavaソース・ファイルの
位置を確認することができます。



ところで、この「パンくずリスト表示」機能は、Javaエディターを開いただけでは使えません。

まず、Javaエディターを開いた後に、Eclipseツール・バーにある
  「パンくずリストの切り替え」アイコン
をクリックします。

breadcrumb1.png

アイコンをクリックすると・・・

パンくずリストが表示されるようになりました!!

breadcrumb2.png


プロジェクト名、パッケージ名だけではなく、クラス名、さらには
どのメソッドにカーソルを当てているのかまでわかりますね。


パンくずリストの中には黒い"矢印"が表示されており、そこをクリックすると、
プロジェクトやパッケージ、クラス、メソッドが階層構造で表示されます。
「アウトライン」ビューへ移動しなくても、ここで表示されたリストから
他のクラスやメソッドへジャンプすることができます。

breadcrumb3.png


なお、Eclipseツール・バーのアイコンを選択する以外にも、[Alt]+[Shift]+[B]をクリックすることで、
パンくずリストが表示されるようになります。


Eclipse3.4をお使いの方は、ぜひお試しください。



Eclipseを複数個インストールして起動する

Eclipseは、およそ年に1回メジャーバージョンアップが行われます。

新しくEclipseがリリースされると

    最新のEclipseではどんな機能エンハンスが行われているのか?
   古いEclipseと比べてどれだけ使いやすくなっているのか?


など、色々と気になりますね。

これらを体感するには、実際に新しいEclipseを動かしてみることが一番でしょう。

でも、

 今使っている古いバージョンのEclipse環境も残しておきたいから、新しいEclipseはインストールできないなぁ・・・

と、最新のEclipseインストールを躊躇してしまった方もいらっしゃるかもしれません。


実はそのような心配はいりません。
    複数個、複数バージョンのEclipseを同一マシンにインストールすることができる
のです。



Eclipseのインストール方法については、2009年3月19日の記事ですでにご紹介していますが、
Eclipseのzipアーカイブファイルを適当なディレクトリに展開するだけでしたね。

複数のEclispeをインストールする場合も同様です。
Eclipseアーカイブファイルの展開先ディレクトリを別々にしておくだけでOKです。


例えば、Eclipse3.3、Eclipse3.4、Elcipse3.5を同一マシンにインストールする場合は、
以下のようにディレクトリ名にEclipseのバージョンを使用するとわかりやすいです。

+C:
 +\Eclipse3.3 (Eclipse3.3用インストールディレクトリ)
 +\Eclipse3.4 (Eclipse3.4用インストールディレクトリ)
 +\Eclipse3.5 (Eclipse3.5用インストールディレクトリ)


ディレクトリ名を見れば、Eclipseのバージョンを容易に区別できますので、
複数バージョンのEclipse環境があっても、Eclipseの起動時に迷うことはありません。

例えば、Eclipse3.4を起動したい場合は

   C:\Eclipse3.4\eclipse\eclipse.exe

をダブルクリックすればOKです。


※Eclipseだけではなく、MyEclipseについても複数のバージョンを同一マシンにインストールすることができます。
  詳しくは、こちらのFAQをご覧ください。


なお、複数のEclipse環境でプラグインを共有することもできます。
その方法については過去のブログ記事で既にご紹介しておりますので、ご参照ください。

 

過去2回にわたって、Eclipseのクリーンアップ機能についてご紹介してきました。


今回は、MyEclipse7.0の新機能である「JavaScriptコードのクリーンアップ」機能について
ご紹介します。


Eclipseのクリーンアップ機能は、Javaのコードが変更の対象ですが、
JavaScriptのコードを書いている場合も、Javaのコードと同じように if/while/for/do ステートメントを
使うので、クリーンアップ機能が使えると便利ですね。

MyEclipse7.0では、JavaScriptのコードに対してもクリーンアップができます。

コードスタイルのカスタマイズ方法や、クリーンアップの実行方法は
Eclipseのクリーンアップを行う場合とほとんど変わりません。


では、具体的な設定方法について見ていきましょう。


(1)
Eclipseメニューから「ウィンドウ」>「設定」>「MyEclipse Enterprise Workbench」>「ファイルおよびエディター」
>「JavaScript」>「コード・スタイル」>「クリーンアップ」を選択します。

cleanup-js1.gif


Eclipseのクリーンアップを行う設定画面ととてもよく似ていますね。

「アクティブなプロファイル」では、MyEclipseがあらかじめ用意しているコーディングスタイル
(Eclipse[ビルトイン])が選択されています。

といっても、デフォルトでは特に何も設定されていないので、
自分用のコーディングスタイルを設定するために、新しくプロファイルを作成してみましょう。


(2)
「アクティブなプロファイル」欄の下にある「新規」ボタンをクリックして、プロファイル名を決めます。


(3)
プロファイルの設定ダイアログが表示されます。

cleanup-js2.gif


「コード・スタイル」「コード編成」の2つの項目についてコーディングスタイルのカスタマイズができます。

今回は、「if/while/for/doステートメントでブロックを使う」ように設定してみます。
チェックを入れたら「OK」ボタンをクリックして、プロファイルのダイアログを閉じます。


これで、JavaScriptのクリーンアップ設定は完了です。


では、実際にJavaScriptのクリーンアップを行ってみましょう。

JavaScriptのクリーンアップを実行する場合は、「プロジェクト・エクスプローラ」ビュー
あるいは「スクリプト・エクスプローラ」ビューからクリーンアップを実行します。

クリーンアップの実行は、次のいずれかの方法で行います。
  • コンテキスト・メニュー(右クリック)からの実行
  • Eclipseメニューの「ソース」から実行

クリーンアップを実行すると、「クリーンアップ」ダイアログが表示されます。

Eclipseのクリーンアップを実行した場合と同じように、どのようなコード変更が行われるのかを
確認できます。

cleanup-js3.gif


MyEclipseをご使用の方は、Eclipseのクリーンアップ機能と合わせて
ぜひご活用ください!
2009年8月6日の記事 の続きです。
今回は、Eclipseのクリーンアップ機能で適用するコーディングスタイルを
カスタマイズしてみましょう。


(1)
Eclipseメニューから「Window」>「設定」>「Java」>「コード・スタイル」>「クリーンアップ」を選択します。


「アクティブなプロファイル」では、使用可能なコーディングスタイルを選択できます。
デフォルトでは、Eclipseがあらかじめ用意しているコーディングスタイル(Eclipse[ビルトイン])が
選択されています。

cleanup-custom1.gif


「編集」ボタンをクリックすると、Eclipse[ビルトイン]で具体的にどのようなコーディングスタイルが
設定されているのかを確認することができます。

自分たちのコーディング規則に合うように、コーディングスタイルをカスタマイズするには、
Eclipse[ビルドイン]とは別に新しくプロファイルを作成する必要があります。
※Eclipse[ビルドイン]の内容を変更して保存することは、残念ながらできません。

(2)
「アクティブなプロファイル」欄の下にある「新規」ボタンをクリックして、プロファイル名を決めます。


(3)
プロファイルの設定ダイアログが表示されます。

ダイアログでは以下の5つの項目について、それぞれコーディングスタイルを
カスタマイズすることができます。

  • コード・スタイル
      if/while/for/do ステートメントでブロックを使うか など

  • メンバー・アクセス
     フィールド・アクセスやメソッド・アクセスに'this'修飾子を使うか など

  • 不要なコード
     未使用のインポート文を削除するか など

  • 欠落しているコード
     欠落しているアノテーション(@Overrideなど)を追加するか など

  • コード編成
     ソース・コードのフォーマットやインデントの訂正を行うか など

cleanup-custom2.gif


上の図は「コード・スタイル」項目に関する設定画面です。
各チェックボックスをクリックしてON/OFFを行うと、具体的にどのようなコード変更が行われるのかに
ついては、右側のプレビューで確認することができます。

(4)
カスタマイズ後に「OK」ボタンをクリックし、プロファイルのダイアログを閉じると、
今作成したプロファイルがクリーンアップ時に適用されます。


作成したプロファイルは、インポート/エクスポートすることができるので、
開発チームのメンバー間で簡単に共有できます。

ぜひ活用してみてください!!


<追記>

次の記事はこちらです。
MyEclipse 7.0を使ってJavaScriptのコードもクリーンアップしよう


今回は、Eclipseのクリーンアップ機能についてご紹介します。

チームでアプリケーション開発を行う場合は、コーディングスタイルなどが
決められていることが多いと思います。
でも、プログラマにはそれぞれコードを書く時の"癖"がありますね。

いくら コーディングスタイルを守らねば!! と気をつけていても
うっかり、規則から外れたコードを書いてしまうということもあるかと思いますので、
コーディング規則を守るためには、ツールによる手助けが欠かせません。

Eclipseには、コーディングスタイルの統一を手助けするための
様々な機能があり、その一つが今回ご紹介する『クリーンアップ』機能です。

この『クリーンアップ』機能は、Eclipse 3.2 の JDTで追加された機能です。
ソースコードの整形だけにとどまらず、Javaの構文にまで踏み込み、
コーディングスタイルを統一してくれます。

具体的には・・・

  • if/while/for/do ステートメントでブロックを使うかどうか
  • 条件文を括弧で囲むかどうか
  • フィールド・アクセスやメソッド・アクセスに'this'修飾子を使うかどうか
  • 未使用のインポート文を削除するかどうか
  • 欠落しているアノテーション(@Overrideなど)を追加するかどうか
などを統一することができます。


では、クリーンアップの実行手順について見ていきましょう。


(1)
クリーンアップの対象とするプロジェクトを「パッケージ・エクスプローラ」ビューで選択します。

(2)
コンテキスト・メニュー(右クリック)から「ソース」>「クリーンアップ」を選択します。

cleanup1.gif

(3)
「クリーンアップ」ダイアログが表示されるので、「次へ」ボタンをクリックします。
実際にクリーンアップを実行する前に、どのようなコード変更が行われるのかを
各ファイル毎に確認することができます。

cleanup2.gif


(4)
確認後に問題がなければ「終了」ボタンをクリックします。


これでクリーンアップは完了です。


今回はクリーンアップの対象として、1つのプロジェクトを選択しましたが、
プロジェクト内のあるファイルのみピンポイントでクリーンアップすることもできますし、
逆に複数のプロジェクトに対して一斉にクリーンアップをすることもできます。


ところで、今回のクリーンアップではEclipseがあらかじめ用意している
コーディングスタイルを適用しましたが、自分たちのチームで決められた
コーディングスタイルに合うようにカスタマイズすることもできます。


具体的なカスタマイズ方法については、次回の記事でご紹介したいと思います。
お楽しみに!


<追記>

次の記事はこちらです。
Eclipseのクリーンアップ機能で適用するコーディングスタイルのカスタマイズ

MyEclipse7.0.1新機能紹介の第6弾です。
今回は、「OpenJPAサポート」についてご紹介します。


MyEclipseはJPAを利用したアプリケーション開発をサポートしており、
MyEclipse6.5までは「Toplink」、「Hibernate」の2つのJPA インプリメンテーションを
サポートしていました。
それらに加えて、MyEclipse7.0.1では「OpenJPA」をサポートしています。


ちなみに、OpenJPAとは、
      Apacheのトッププロジェクトとして開発されているオープンソースの
      JPA(Java Persistence API)インプリメンテーション
です。


OpenJPAを使ったJPAのアプリケーションを作成する場合に必要な操作は
ウィザードを使って行います。

プロジェクトを選択し、JPA機能を追加をする際に、
「JPA機能の追加」ウィザードで「OpenJPA」を選択すればOKです。

nf0701_openjpa1.gif


JPAのアプリケーションを作成する場合に必要な「persistence.xml」も自動生成します。

persistence.xmlにはデータベースへJDBC接続するために必要な情報
(DBドライバークラス、接続URL、ユーザ名、パスワード)
を記述する必要がありますが、MyEclipseではこれらの情報を手動で入力する必要がありません。

MyEclipseでは、データベースへ接続するために、あらかじめデータベース接続
(ドライバー)情報を構成して保存しておき、この構成済みの接続情報から
自動で必要な情報を取得し、persistence.xmlへ反映します。


nf0701_openjpa3-2.gif


ウィザードをすべて完了するとOpenJPA 1.2 ライブラリーがプロジェクトに自動で追加されます。

nf0701_openjpa4.gif


なお、OpenJPA 用のプロジェクトでも、リバース・エンジニアリング、
妥当性検査、オート・コンプリートなどの既存のJPA 機能もそのまま利用できます。


JPAを使ったアプリケーション開発でも、ぜひMyEclipseの機能をご活用ください!

MyEclipse とは?

MyEclipse は、JavaEE 開発全般をサポートする Eclipse プラグインです。
開発がすぐに始められ、環境統一やメンテナンスも簡単!

MyEclipse ポータルトップへ

機能一覧ページへ

MyEclipse は 30 日間無料でお試しいただけます。

無料体験版ダウンロードはこちら

おすすめリンク

ブログ記事の一覧ページはこちらへ。

さくさく開発ガイドへ

当ブログの内容には執筆者の個人的見解が含まれることがありますが、これらは、所属する組織・企業の立場、意見、解釈を代表するものではありません。