§好きな IDE で開発する
Play で開発するのは簡単です。 Play は自動的にソースファイルに加えた変更をコンパイルし、変更内容をリフレッシュするので、洗練された IDE は必要なく、単純なテキストエディタで簡単に開発することができます。
しかし、モダンな Java, Scala IDE は自動コンパイル、実行中のコンパイル、リファクタリングのアシスト、デバッギングのようなクールで生産的な機能を提供しています。
§Eclipse
§設定ファイルの生成
Play は単純な Eclipse の設定のためのコマンドを提供します。Play アプリケーションを Eclipse のプロジェクトに変換するには eclipse
コマンドを使います。
[my-first-app] $ eclipse
もし取得可能な jar のソースを持ってくる場合は以下のようにします (これには時間がかかるでしょうし、いくつかのソースが見つからない場合もあります)。
[my-first-app] $ eclipse with-source=true
もしサブプロジェクトを使っている場合は、
build.sbt
にあるskipParents
を以下のように適切に設定する必要があるので注意してください:
import com.typesafe.sbteclipse.core.EclipsePlugin.EclipseKeys
EclipseKeys.skipParents in ThisBuild := false
あるいは play コンソールから以下のようにタイプします:
[my-first-app] $ eclipse skip-parents=false
また、もし
eclipse
の実行時にコンパイルをトリガーさせたくない場合は、以下の設定を追加します:
EclipsePlugin.EclipseKeys.preTasks := Seq()
その後、 File/Import/General/Existing project… メニューを使用してワークスペースにアプリケーションをインポートする必要があります(最初にあなたのプロジェクトをコンパイルします)。
デバッグを開始するには activator -jvm-debug 9999 run
を実行し、アプリケーションを起動します。そして、 Eclipse でプロジェクトを右クリックし、 Debug As 、 Debug Configurations を選びます。 Debug Configurations のダイアログ画面で Remote Java Application を右クリックし、 New を選びます。そして、 Port を 9999 に変更し、 Apply をクリックします。これで実行中のアプリケーションに接続するために Debug をクリックできるようになります。デバッグを中止してもサーバは終了しません。
Tip:
~run
を使うとファイルの変更時の直接コンパイルを有効にしてアプリケーションを実行できます。これによりview
に新しいテンプレートファイルが作成されたことを自動的に検出し、ファイルに変更が加わった時に自動的にコンパイルされます。通常のrun
コマンドを使っていると、毎回ブラウザでのリフレッシュを行わなければいけません。
クラスパスの変更のようなアプリケーションにとって重要な変更を行った場合、eclipse
コマンドを使って設定ファイルの再作成を行います。
Tip: チームで作業を行なっている場合は Eclipse の設定ファイルはコミットしないようにしてください。
生成された設定ファイルはあなたのフレームワークのインストールに関する絶対参照を含みます。これはあなた自身のインストールに関する設定です。あなたがチーム内で作業している時には、各開発者は Eclipse の設定ファイルをプライベートにしておく必要があります。
§IntelliJ
IntelliJ IDEA はコマンドプロンプトを使用せずに新しい Play アプリケーションを素早く作成させてくれます。 IDE の外部での設定なしに、SBT ビルドツールが必要なライブラリをダウンロードし、依存性を解決し、プロジェクトをビルドするまで面倒を見てくれます。
Play アプリケーションを IntelliJ IDEA で作成する前に、最新の Scala (もし Scala で開発する場合)と Play 2 プラグインが IntelliJ IDEA で有効になっているか確認しましょう。
Play アプリケーションを作るには:
- New Project ウィザードを開き、 Scala セクションにある Play 2.x を選択し Next をクリックします。
- プロジェクトの情報を入力し、 Finish をクリックします。
IntelliJ IDEA は SBT を使って空のアプリケーションを作ることができます。
既存の Play プロジェクトをインポートすることも可能です。
Play のプロジェクトをインポートするには:
- プロジェクトウィザードを開き、 Import Project を選びます。
- 表示されたウィンドウの中に表示されている、インポートしたいプロジェクトを選択し OK をクリックします。
- ウィザードの次のページで Import project from external model オプションを選択し、 SBT project を選択し、 Nextをクリックします。
- ウィザードの次のページで追加のインポートオプションを選択し、 Finish をクリックします。
プロジェクトの構造をチェックし、必要な依存関係にあるものが全てダウンロードされているか確認してください。
コードアシスタントやナビゲーション、そして、その場で動作するコード解析機能を使用することができます。
作成済みのアプリケーションを実行することができ、結果をデフォルトブラウザ上の http://localhost:9000
で見ることができます。
Playアプリケーションを実行するには:
- プロジェクトツリーでアプリケーションを右クリックする。
- コンテキストメニューの中から Run Play2 App を選択する。
Play アプリケーションのデバッガセッションは標準の Run/Debug Configuration setting を使えば簡単に開始することができます。
もっと詳細な情報は以下の Play Framework 2.x チュートリアルをご覧ください。
http://confluence.jetbrains.com/display/IntelliJIDEA/Play+Framework+2.0
§Netbeans
§設定ファイルの生成
現在、 Play は Netbeans プロジェクトの生成をサポートしていません。
§ENSIME
§ENSIME のインストール
http://github.com/aemoncannon/ensime の手順に従ってインストールします。
§設定ファイルの生成
project/plugins.sbt ファイルを編集し、以下の行を追加します。(まず、プラグインのバージョンが最新かどうかここで確認する必要があります。https://github.com/ensime/ensime-sbt-cmd):
addSbtPlugin("org.ensime" % "ensime-sbt-cmd" % "0.1.3")
Play を起動します:
$ activator
Play コンソールから ‘ensime generate’ と入力します。このプラグインにより Play プロジェクトのルートに .ensime ファイルが作成されているはずです。
$ [MYPROJECT] ensime generate
[info] Gathering project information...
[info] Processing project: ProjectRef(file:/Users/aemon/projects/www/MYPROJECT/,MYPROJECT)...
[info] Reading setting: name...
[info] Reading setting: organization...
[info] Reading setting: version...
[info] Reading setting: scala-version...
[info] Reading setting: module-name...
[info] Evaluating task: project-dependencies...
[info] Evaluating task: unmanaged-classpath...
[info] Evaluating task: managed-classpath...
[info] Updating {file:/Users/aemon/projects/www/MYPROJECT/}MYPROJECT...
[info] Done updating.
[info] Evaluating task: internal-dependency-classpath...
[info] Evaluating task: unmanaged-classpath...
[info] Evaluating task: managed-classpath...
[info] Evaluating task: internal-dependency-classpath...
[info] Compiling 5 Scala sources and 1 Java source to /Users/aemon/projects/www/MYPROJECT/target/scala-2.9.1/classes...
[info] Evaluating task: exported-products...
[info] Evaluating task: unmanaged-classpath...
[info] Evaluating task: managed-classpath...
[info] Evaluating task: internal-dependency-classpath...
[info] Evaluating task: exported-products...
[info] Reading setting: source-directories...
[info] Reading setting: source-directories...
[info] Reading setting: class-directory...
[info] Reading setting: class-directory...
[info] Reading setting: ensime-config...
[info] Wrote configuration to .ensime
§ENSIME の起動
Emacs から M-x ensime を実行して、画面に表示された手順に沿って手続きを行います。
手続きは以上です。これで Play プロジェクトでタイプチェックやコンパイル等を行うことができます。もし Play プロジェクトで新しいライブラリの依存性を追加した場合は、再度 “ensime generate” を実行して ENSIME を再起動する必要があります。
§詳しい情報は
この ENSIME マニュアル http://ensime.github.io/ensime-src/index.html をチェックしてください。
疑問があれば ensime グループ https://groups.google.com/forum/?fromgroups=#!forum/ensime に投稿してください。
§Scala プラグインが必要な場合は
Scala は新しいプログラミング言語です。そのため、機能は IDE のコアではなくプラグインとして組み込まれています。
- Eclipse Scala IDE: http://scala-ide.org/
- NetBeans Scala プラグイン: https://java.net/projects/nbscala
- IntelliJ IDEA Scala プラグイン: http://confluence.jetbrains.net/display/SCA/Scala+Plugin+for+IntelliJ+IDEA
- IntelliJ IDEA のプラグインは活発に開発されているため、ナイトリービルドを使う事で、小さな問題と引き換えにより多くの機能を使えるようになります。
- Nika (11.x) プラグインリポジトリ: http://www.jetbrains.com/idea/plugins/scala-nightly-nika.xml
- Leda (12.x) プラグインリポジトリ: http://www.jetbrains.com/idea/plugins/scala-nightly-leda.xml
- IntelliJ IDEA Play プラグイン (Leda 12.x のみに対応): http://plugins.intellij.net/plugin/?idea&pluginId=7080
- ENSIME - Emacs 用の Scala IDE モード: https://github.com/aemoncannon/ensime
(see below for ENSIME/Play instructions)
Next:
このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。