Documentation

You are viewing the documentation for the 2.2.x release series. The latest stable release series is 2.4.x.

§好きな IDE で開発する

Play で開発するのは簡単です。Play は自動的にソースファイルに加えた変更をコンパイルし、変更内容をリフレッシュするので、洗練された IDE は必要なく、単純なテキストエディタで簡単に開発することができます。

しかし、モダンな Java, Scala IDE は自動コンパイル、実行中のコンパイル、リファクタリングのアシスト、デバッギングのようなクールで生産的な機能を提供しています。

§Eclipse

§設定ファイルの生成

Play は単純な Eclipse の設定のためのコマンドを提供します。Play アプリケーションを Eclipse のプロジェクトに変換するには eclipse コマンドを使います。

ソースの jar ファイルが必要ない場合は、以下のコマンドを実行します。

[My first application] $ eclipse

使用可能なソースの jar ファイルを取得したい場合は、以下のコマンドを実行します (この場合より多くの時間がかかり、いくつかのソースはなくなっているかもしれません) 。

[My first application] $ eclipse with-source=true

もしサブプロジェクト構成にしている場合は、以下のように skipParents を適切に設定する必要があるでしょう。

import com.typesafe.sbteclipse.core.EclipsePlugin.EclipseKeys

object ApplicationBuild extends Build {

  override def settings = super.settings ++ Seq(
      EclipseKeys.skipParents in ThisBuild := false
  )

  ...
 
}

あるいは play コンソールから以下のようにタイプします:

[My first application] $ eclipse skip-parents=false

また、もし eclipse の実行時にコンパイルをトリガーさせたくない場合は、以下の設定を追加します:

EclipsePlugin.EclipseKeys.preTasks := Seq()

その後、 File/Import/General/Existing project… メニューを使用してワークスペースにアプリケーションをインポートする必要があります(最初にあなたのプロジェクトをコンパイルします)。

play debug run でアプリケーションを起動すると、**Debug AS** をつかってデバッグセッションを開始できる the Connect JPDA launcher を使うことができます。
デバッグセッションを停止しても、サーバは停止しません。

Tip: ~run を使うとファイルの変更時の直接コンパイルを有効にしてアプリケーションを実行できます。これにより view に新しいテンプレートファイルが作成されたことを自動的に検出し、ファイルに変更が加わった時に自動的にコンパイルされます。通常の run コマンドを使っていると、毎回ブラウザでのリフレッシュを行わなければいけません。

クラスパスの変更のようなアプリケーションにとって重要な変更を行った場合、eclipse コマンドを使って設定ファイルの再作成を行います。

Tip: チームで作業を行なっている場合は Eclipse の設定ファイルはコミットしないようにしてください。

生成された設定ファイルはあなたのフレームワークのインストールに関する絶対参照を含みます。これはあなた自身のインストールに関する設定です。あなたがチーム内で作業している時には、各開発者は Eclipse の設定ファイルをプライベートにしておく必要があります。

§IntelliJ

§設定ファイルの生成

Play は単純な Intellij IDEA の設定のためのコマンドを提供します。Play アプリケーションを IDEA モジュールに変換するには play コンソールから idea コマンドを使います。

ソースの jar ファイルが必要ない場合は、以下のコマンドを実行します。

[My first application] $ idea

使用可能なソースの jar ファイルを取得したい場合は、以下のコマンドを実行します (この場合より多くの時間がかかり、いくつかのソースはなくなっているかもしれません) 。

[My first application] $ idea with-sources=yes

これで IntelliJ が play アプリケーションをプロジェクトとして開くための設定ファイルが作成されます。これらのファイル名は .iml と -build.iml です。 (IntelliJ 11.1 CE の) file メニューには Open Project コマンドがあります。

Tip: Scala プラグインがインストールされている場合、Java ベースの Play2 アプリで IntelliJ の問題 が発生しています。この問題が解決するまでは、Scala プラグインを無効にすることが推奨されます。

デバッグを実行するために、最初にデバッグの設定を追加します。

play をデバッグモードで起動 (IDEA の Play コンソールではなく別のコマンドラインコンソールで) します。

$ play debug

以下のような出力が行われます。

Listening for transport dt_socket at address: 9999

いくつかのブレークポイントをセットしてから IDEA のデバッグ設定を開始します。コンソール出力は以下のようになっているはずです。

Connected to the target VM, address: 'localhost:9999', transport: 'socket'

Play コンソールの run タスクを呼び出す事で web アプリを実行します。最後に http://localhost:9000 をブラウザで開きます。 IntelliJ はブレークポイントで停止しているはずです。

その他の方法として、新たなコマンドプロンプトを開かずに IDEA の Play コンソールで “play debug run” を実行し、それからデバッグ設定を起動する事も出来ます。

クラスパスの変更のようなアプリケーションにとって重要な変更を行った場合、idea コマンドを使って設定ファイルの再作成を行います。

§Netbeans

§設定ファイルの生成

Play は現時点ではネイティブの Netbeans プロジェクトの生成をサポートしていません。今のところは NetBeans SBT Plugin を使うと NetBeans の Scala プロジェクトを生成することができます。

最初に plugins.sbt ファイルを編集します。

resolvers += {
  "remeniuk repo" at "http://remeniuk.github.com/maven" 
}

libraryDependencies += {
  "org.netbeans" %% "sbt-netbeans-plugin" % "0.1.4"
}

編集が完了したら以下のコマンドを実行します。

$ play netbeans

§ENSIME

§ENSIME のインストール

http://github.com/aemoncannon/ensime の手順に従ってインストールします。

§設定の作成

project/plugins.sbt ファイルを編集して、以下の行を追加します (最新版のプラグインを入手するためにまずは http://github.com/aemoncannon/ensime-sbt-cmd をチェックすると良いです)。

addSbtPlugin("org.ensime" % "ensime-sbt-cmd" % "0.1.0")

Play を起動します:

$ play

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 を再起動する必要があります。

§詳しい情報は

http://aemoncannon.github.com/ensime/index.html にある ENSIME マニュアルをチェックして下さい。
質問がある場合は https://groups.google.com/forum/?fromgroups=#!forum/ensime にある ensime グループに投稿して下さい。

§Scala プラグインが必要な場合は

Scala は新しいプログラミング言語です。そのため、機能は IDE のコアではなくプラグインとして組み込まれています。

 

Next:

Play for Scala developers
Play for Java developers


このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。