Eclipse はフリーの統合開発環境です。v4.4 (Luna) の Windows への導入方法と基本操作についてまとめます。
Eclipse Luna SR2 Packages にアクセスして Eclipse IDE for Eclipse Committers 4.4.x を開きます。右サイドバーの Download Links から使用している OS のものをダウンロードして解凍します。例えば ~/bin/eclipse に配置します。なお、Eclipse は JRE があれば動作します。JDK は必須ではありません。ビルド時には Eclipse 内蔵の javac が利用されます。
最新版が必要な場合はこちらからダウンロードします。また、Luna に限らず Java EE の機能が必要な場合は Eclipse IDE for Java EE Developers をダウンロードします。後述の Maven プラグインや Tomcat 連携のための機能 Web Tools Platform (WTP) が含まれています。
Pleiades にアクセスして「最新版」と記載のあるページ内リンクをクリックします。ここでは現時点で安定最新版の pleiades_1.5.0.zip をダウンロードしました。解凍してそれぞれ以下のように配置します。移動ではエラーになることがあります。コピーしてください。
エディタで ~/bin/eclipse/eclipse.ini を開いて最終行に ~/bin/eclipse/readme/readme_pleiades.txt に記載のある内容を追記します。
- eclipse.ini の最終行に以下の記述を追加。 -javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar (Windows 以外の場合は後述の Eclipse 起動オプション参照)
初回起動時のみ ~/bin/eclipse/eclipse.exe -clean.cmd をダブルクリックして利用します。日本語化されていることを確認したら、次回以降は ~/bin/eclipse/eclipse.exe で起動します。readme_pleiades.txt ではフォントも変更しておくとよいとされています。
Windows の場合、デフォルトのフォントが Courier New 10 ポイントになっていますが MS ゴシック
9 ポイントをオススメします。下記から設定できます。メニューから
[ウィンドウ] - [設定] を開き、[一般] - [外観] - [色とフォント] の [基本] - [テキスト・フォント]
で設定してください。
Eclipse にも Visual Studio のインテリセンスのようなコード補完があります。補完時の Pleiades ドキュメントが文字化けする原因にもなりますので Eclipse で使用する文字コードを UTF-8 UNIX に変更します。「ウィンドウ」→「設定」→「一般」→「ワークスペース」を選択して以下のように設定します。
プロジェクト、フォルダ、ファイル単位で文字コードを変更することもできます。エクスプローラで「右クリック」→「プロパティ」で設定します。
あくまでも一般論ですがインデントにはタブよりもスペースを使用したほうがよい場面が多いです。Eclipse のインデントでスペースを使用するためには以下のように設定します。
「ウィンドウ」→「設定」→「一般」→「エディター」→「テキスト・エディター」にある「タブでスペースを挿入」にチェックを入れます。
「ウィンドウ」→「設定」→「Java」→「コード・スタイル」→「フォーマッター」にある「編集」をクリックします。
上記二箇所を変更したら適用または OK をクリックします。
「ウィンドウ」→「設定」→「一般」→「エディター」→「テキスト・エディター」→「行番号の表示」
「ウィンドウ」→「設定」→「一般」→「エディター」→「テキスト・エディター」→「空白文字の表示」
チェックを入れるとタブ、半角スペース、全角スペース、改行を可視化できるようになります。ツールバーにはこの機能を ON/OFF するためのボタンがあります。
「ウィンドウ」→「設定」→「一般」→「Show heap status」
「ファイル」→「新規」→「Javaプロジェクト」を選択して、プロジェクト名を "myproject" と入力して完了をクリックします。
「"src" 右クリック」→「新規」→「クラス」を選択して、名前を "Main" および "public static void main(String[] args)" にチェックを入れて完了をクリックします。
Main.java を編集して「実行」します。
package myproject;
public class Main {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
System.out.println("hello");
}
}
行番号の左部分をダブルクリックするとブレークポイントを設定できます。「Show View → Other → Debug → Breakpoints」でブレークポイントビューを追加すると、設定した箇所を一覧で確認できて便利です。
「デバッグ」を開始すると初回はポップアップが発生します。
"Java" をクリックすると元の画面に戻ります。自動でパースペクティブが切り替わらないように変更するためには、「設定 → Run/Debug → Perspectives → Open the associated perspectives when an application suspends → Never」とします。
ソースファイルなどをファイル名で絞り込んで開きます。ちなみに、型を開く場合は Ctrl/Command + Shift + t
です。
デバッグ中は「Variables (変数)」ビュー、「Expressions (式)」ビューを利用して値を調べることもできますが、カーソルを合わせるだけでもポップアップされた値を確認できます。
例えば "if" まで入力して Ctrl + Space を押すと補完候補の一覧が提示されます。if のコードスニペットを挿入できます。"sys" まで入力して Ctrl + Space を押すと補完候補の一覧が提示されます。sysout を選択すると println のコードスニペットが挿入されます。
意図的に "System.out.print();" と入力してみてください。エラーが検知されて行番号の左側に黄色の電球マークが表示されます。これをクリックすると「println() に変更」など修正方法の候補が複数提示されます。選択すると自動で即時修正されます。
ファイルを編集すると行番号に色がつきます。色がついた行番号にカーソルを合わせると、編集内容を前回保存時との差分としてポップアップ表示します。ファイルを保存すると色が消えます。クイック Diff とよばれる機能です。
ファイルを変更して保存するとローカル・ヒストリーとよばれるスナップショットのようなものが作成されます。
エクスプローラでフォルダを右クリックして「ローカル・ヒストリーからの復元」を選ぶと削除したファイルをスナップショットから復元できます。
エクスプローラでファイルを右クリックして「比較」→「ローカル・ヒストリー」を選ぶと、現時点と過去のスナップショットの内容を比較できます。
エクスプローラでファイルを右クリックして「置換」→「ローカル・ヒストリー」を選ぶと、過去のスナップショットの内容に置換して変更を取り消すことができます。
Ctrl + 3 を押してフォーカスされる検索ボックスにファイル名などを入力すると直近の操作履歴や開いたファイルなどが検索され、結果を選択することで素早くアクセスできます。
カーソルのある行についてコメントアウトの有効無効を切り替えます。複数行選択すればそれらをまとめてコメントアウトします。
カーソルのある行についてインデントを整えるためには Ctrl + i を利用します。複数行選択すればまとめて整形できます。インデントだけではなく予め定められたフォーマットに沿って整形するためには Ctrl + Shift + f を利用します。
一行以上を選択して Alt + Shift + z を押すと while, for, if, try といった候補が表示されます。選択するとそれらのブロックのスニペットで囲まれた状態に変更されます。
File file = new File("sample.java"); と入力してみてください。カーソルを "File" に合わせた状態で Ctrl + Shift + m を押すと自動で import java.io.File; が挿入されます。Ctrl + Shift + o を利用することによっても import 文の自動挿入が行えます。これはファイル全体を調査して「import 文を自動挿入」「使用されていない import 文の削除」「ワイルドカード * の自動展開」のすべてを実行します。
すべてのショートカット一覧を表示します。
矢印キーを利用するよりも素早く目的の場所にカーソルを合わせることができます。
javadoc で使用される形式のコメント雛形が生成されます。
デバッガが出力したエラー行に移動したりするために利用します。
if や for ブロックの対応する括弧の開始と終了地点にカーソルを合わせて行ったり来たりします。今どのブロックで作業しているのかを知りたいときに重宝します。
カーソルのある行を削除します。複数行選択しておけばまとめて削除できます。
インクリメンタル検索を Ctrl + j で開始して Ctrl + k で複数の検索結果間をカーソル移動します。
F3 を押すと以下のような処理を実現できます。Ctrl + クリックによっても同様の効果が得られます。これらは「宣言ビュー」にも自動で表示されるため、わざわざジャンプしなくても事足りることがあります。
println や File といった JDK で提供されるものについても移動できます。JRE ではないことに注意してください。例えば C:\Program Files\Java\jdk1.7.0_75 にインストールした JDK を Eclipse に設定するためには「ウィンドウ」→「設定」→「Java」→「インストール済みの JRE」→「追加」→「標準 VM」→「次へ」と進み以下のように設定して「完了」を押します。
インストール済みの JRE 一覧に jdk1.7.0_75
が新規に表示されたことを確認してチェックを入れてデフォルトに設定します。プロジェクトの新規作成時に jdk1.7.0_75
(または JavaSE-1.7) を選択すれば F3 や Ctrl + クリックによって println などについてもコードジャンプできるようになります。既存のプロジェクトについては「プロパティ」→「Java のビルド・パス」→「ライブラリー」→「ライブラリーの追加」→「JRE システム・ライブラリー」→「ワークスペースのデフォルト JRE (jdk1.7.0_75
)」から選択し直す必要があります。その後「順序およびエクスポート」タブでこれまでの JRE を削除するまたは優先順位を「下へ」で今回のものよりも下げます。
F4 を利用するとクラスの継承関係の視覚化できます。「型階層」とよばれるウィンドウが開きます。「右クリック」→「〜にフォーカス」で中心となるクラスを変更できます。Ctrl + t によって F4 と同等の内容が記載されたウィンドウをポップアップすることもできます。複数のファイルを行き来することになるためツールバーのナビゲートボタンを利用するとよいです。
閲覧する中でメソッドのオーバーライドが発生している場合は三角マークをクリックして上書き元を開くことができます。
パンくずリストも複数のファイルを閲覧する際に役立ちます。
Pleiades のように手動でインストールするタイプのプラグインもありますが、規模の大きなプラグインの場合は「ヘルプ」→「新規ソフトウェアのインストール」から更新サイトを設定してインストールします。学内 LAN などで プロキシ設定が必要な場合は「ウィンドウ」→「設定」→「一般」→「ネットワーク接続」 で事前の設定が必要です。プラグインの導入例を以下に記載します。
「ヘルプ」→「新規ソフトウェアのインストール」→「追加」をクリックして以下のように入力します。ロケーションにはこちらの公式サイトの情報を入力します。
「すべて選択」→「次へ」→「次へ」→「同意」と進みます。インストール中、署名なしについては OK を選択します。インストールが完了したら再起動が行われます。「ファイル」→「新規」→「プロジェクト」→「Scala ウィザード」→「Scala プロジェクト」を選択して Scala のプロジェクトが作成できます。
C++ を Eclipse で利用するためには CDT プラグイン (C/C++ Development Tooling) が有名です。CDT Downloads にアクセスして最新の CDT の p2 software repository の URL をコピーします。「ヘルプ」→「新規ソフトウェアのインストール」→「作業対象」に URL をペーストしてエンターを押します。「すべて選択」→「次へ」→「次へ」→「同意」と進みます。インストールが完了したら再起動が行われます。「ファイル」→「新規」→「プロジェクト」→「C/C++」→「C++ プロジェクト」を選択して C++ のプロジェクトが作成できます。Pleiades を利用していると以下のようなエラーが出ることがあります。
eclipse 選択状態したウィザードは開始できませんでした。
プラグイン org.eclipse.cdt.ui はクラス org.eclipse.cdt.ui.wizards.CCProjectWizard をロードできませんでした。
バンドル org.eclipse.cdt.ui (375) を自動的に有効化している間にエラーが発生しました。
暫定対応として ~/bin/eclipse/eclipse.ini の最終行に
-Xverify:none
を追記すると動作するようになります。
こちらで紹介した Maven を Eclipse から利用するためのプラグイン The Maven Integration for Eclipse を導入してみましょう。Apache のサイトでは 2.x と記載されていますが実際には 3.x がインストールされます。「ヘルプ」→「新規ソフトウェアのインストール」→「作業対象」に、こちらの Installation からコピーしてきた URL をペーストしてエンターを押します。「すべて選択」→「次へ」→「次へ」→「同意」と進みます。インストールが完了したら再起動が行われます。プロキシ設定などが必要な場合はこちらに記載がありますように、例えば「ウィンドウ」→「設定」→「Maven」→「ユーザー設定」→「グローバル設定」に CLI の Maven の settings.xml を指定します。
「ファイル」→「新規」→「プロジェクト」→「Maven」→「Maven プロジェクト」を選択して Maven のプロジェクトが作成できます。ビルド時には goal を package と指定します。
Eclipse で新規に作成することは初期状態ではできません。こちらのページの内容にしたがってコマンドラインツールでプロジェクトを作成します。mvn package および java で実行できる全部入りの jar が作成できる最低限のところまで確認したら、そのプロジェクトを Eclipse でインポートして開発します。
「ファイル」→「インポート」→「Maven」→「既存 Maven プロジェクト」→「次へ」→「ルートディレクトリに mvn で生成したプロジェクトを指定」→「完了」
(注 .project
が存在する場合は「ファイル」→「インポート」→「一般」→「既存プロジェクトをワークスペースへ」、うまくいかないときは「ファイル」→「インポート」→「Maven」→「既存の Maven プロジェクト」)
環境によってはこのタイミングで scala-maven-plugin という Scala と Maven をつなぐプラグインのインストールが自動で促されます。
インストールに成功した場合はコマンドラインツールを使用せずに新規 Mavan Scala プロジェクトを作成できるようになります。ちなみに Eclipse ではビルド対象がパッケージディレクトリ内に存在しないとエクスプローラ内のアイコンが白色になります。Scala プロジェクトが Java プロジェクトとして認識されてしまった場合などにこの現象が発生します。Java プロジェクトにとって scala ファイルはビルド対象ではないためです。
「ヘルプ → Eclipse マーケットプレイス」で JVM Monitor を検索してインストールします。「Show View → Other → Java Monitor → JVM Explorer」でビューを追加すると、JVM の pid を選択して CPU やメモリの使用状況を把握できるようになります。特に CPU タブの「select profiled Java packages → Add → Enter package names separated by comma」でパッケージを指定した状態でビュー右上の「Resume CPU Profiling」をクリックすると、CPU 時間を要する処理を突き止める際に役立つ情報が得られます。
ワークスペースを切り換えることで、Eclipse の設定を完全にプロジェクト毎に別々に持つことができます。無関係なプロジェクトは別々のワークスペースを利用するとよいです。切り替え時には Eclipse が再起動されます。
ワーキングセットを利用することで、複数のプロジェクトを分類できます。三角印をクリックして Working Sets を Top Level Elements に指定します。関連性のあるプロジェクトを同じワークスペースで管理したい場合に利用します。
Configure Working Sets から新規登録して分類していきます。
Problems ビューの三角印をクリックして Configure Contents を開きます。
以下の画像のように設定を変更して OK をクリックします。
プロジェクトによらず、ワークスペース全体の既定値として設定したい引数は以下の箇所で設定します。プロキシ設定などが該当します。
Preferences (設定) → Java → Installed JREs → Edit → Default VM arguments
プロジェクト毎に設定するためには以下の箇所を編集します。
Run Configurations (実行の構成) → Arguments (引数) タブ → VM arguments (VM 引数)
Java ライブラリを別プロジェクトで開発している場合などは、同じワークスペース内の別のプロジェクトから参照することができます。参照すると、定義元に移動すること等が可能になります。設定ファイルが別プロジェクトに存在する場合などの動作不具合も解消します。.project
ファイルが変更されます。
プロジェクトを右クリック → Properties → Project References (プロジェクトの参照)
「Java のビルド・パス」→「プロジェクト (タブ)」→「追加」と区別します。こちらは .classpath
が変更されます。また、「順序およびエクスポート」タブで「プロジェクトと外部の依存関係」と「別プロジェクト」の参照順番を変更することもできるようになります。その際、チェックボックスにチェックを入れておきます。Gradle リフレッシュなどによって、参照順番の設定が初期化されることにも注意します。
Maven の pom.xml や Gradle の build.gradle で依存ライブラリとして設定されている JAR がワークスペース内と社内レポジトリの両方に存在する場合、ワークスペース内にある依存先の別プロジェクトが優先して参照されます。このことは、前述の「宣言元の参照 (F3 または Ctrl + クリック)」で移動する先によって確認できます。ワークスペース内の別プロジェクトが参照されず社内レポジトリが参照される場合は、プロジェクトプロパティの参照順番を確認するだけでなく、pom.xml
や build.gradle
で 指定されているライブラリのバージョンが、ワークスペース内の別プロジェクトで開発中のライブラリのバージョンと一致することを確認 します。