Intellij IDEA/Scala/Playframework2.0 での環境構築に関するメモ #play_ja

先日参加したPlay2.0もくもく勉強会で『Play2.0/Scalaをやるなら、IntelliJはオススメらしい…』という情報を頂き、当日はそこまで引っ括めて対処出来なかったので別途エントリに起こす形で環境構築内容をメモ。

Scala実行環境インストール

上記エントリに記載した内容でインストール・導入バージョンを確認。

その他参考:


IntelliJ IDEAインストール

2013/01/15 時点の最新、12.0.2をダウンロード&インストール。

アプリケーション起動。以前のバージョン(IDEA 11)が入っていたのでその辺の設定引き継ぎを行いますか?と聞かれたけどもここはひとまず設定引き継ぎを回避する形を取りました。

起動直後のメニュー画面。


IntelliJ IDEA: Scala プラグインの導入

  • メニューから[IntelliJ IDEA]→[Preferences]を選択。
  • [plugins]を選択、更にリスト下にある[Browse Repositories...]をクリック。
  • 一覧の中から[Scala]を選択し、右クリックで[Download and Install]を選択。
  • 更新処理が始まり、しばらくするとプラグイン導入が完了。


Scalaプロジェクトの作成

  • [Create New Project]を選択。
  • プロジェクトに任意の名称を設定。また[Set Scala Home]欄に、Scalaインストール設定内容(SCALA_HOMEに相当?)する場所を指定。今回試した環境は2.9.2で、該当しそうなパスを設定してみたが下記画像の様に警告メッセージが出てしまっていた。これはバージョンによるもの[あるバージョン以降or手法であれば、指摘されているパスも存在]なのかな?ひとまずこれで先に進めて行く事に。
  • また、JDKの設定も必要。事前にJavaをインストールしておき、[Project SDK]で該当する内容を設定しておく。
  • [Finish]押下。
  • プロジェクト作成直後。
  • srcフォルダを右クリック、[New Scala Class]を指定。[Object]でクラスを作成。
import util.Properties

/**
 * Created with IntelliJ IDEA.
 * User: shinyaa31
 * Date: 13/01/19
 * Time: 15:49
 * To change this template use File | Settings | File Templates.
 */
object HelloScala {
  def main(args: Array[String]) :Unit = {
    println("Hello, Scala!")
    println(Properties.versionString)
  }
}
  • クラスファイルを右クリック→Run (クラス名.Main)で実行。
Hello, Scala!
version 2.9.2

外観等の設定変更

  • フリーカーソルの無効化:[Editor]→[Allow placement of caret after end of line]のチェックを外す。
  • スキンの変更:[Appearance]→[Theme]の箇所を"Default"から"Darcula"に変更する事が出来る。変更すると黒背景の見た目に。(※要再起動)


Play2.0アプリケーション構築

  • 新規作成(play new アプリケーション名)
$ play new playfw20scala
       _            _ 
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/ 
             
play! 2.0.4, http://www.playframework.org

The new application will be created in /Users/XXXX/IdeaProjects/playfw20scala

What is the application name? 
> playfw20scala

Which template do you want to use for this new application? 

  1 - Create a simple Scala application
  2 - Create a simple Java application
  3 - Create an empty project

> 1

OK, application playfw20scala is created.

Have fun!

$ 
  • 実行(プロジェクト配下に移動、"play"でコンソール起動)
$ cd playfw20scala/
$ play
[info] Loading project definition from /Users/shinyaa31/IdeaProjects/playfw20scala/project
[info] Set current project to playfw20scala (in build file:/Users/shinyaa31/IdeaProjects/playfw20scala/)
       _            _ 
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/ 
             
play! 2.0.4, http://www.playframework.org

> Type "help play" or "license" for more information.
> Type "exit" or use Ctrl+D to leave this console.

[playfw20scala] $ 
  • アプリケーション起動(コンソール上で"run")
[playfw20scala] $ run

[info] Updating {file:/Users/shinyaa31/IdeaProjects/playfw20scala/}playfw20scala...
[info] Done updating.                                                                  
--- (Running the application from SBT, auto-reloading is enabled) ---

[info] play - Listening for HTTP on port 9000...

(Server started, use Ctrl+D to stop and go back to the console...)
  • IDEAプロジェクト対応(コンソール上で"idea")
[playfw20scala] $ idea
[info] Trying to create an Idea module playfw20scala
[info] Excluding folder target
[info] Created /Users/shinyaa31/IdeaProjects/playfw20scala/.idea/IdeaProject.iml
[info] Created /Users/shinyaa31/IdeaProjects/playfw20scala/.idea
[info] Excluding folder /Users/shinyaa31/IdeaProjects/playfw20scala/target/scala-2.9.1/cache
[info] Excluding folder /Users/shinyaa31/IdeaProjects/playfw20scala/target/scala-2.9.1/classes
[info] Excluding folder /Users/shinyaa31/IdeaProjects/playfw20scala/target/scala-2.9.1/classes_managed
[info] Excluding folder /Users/shinyaa31/IdeaProjects/playfw20scala/target/streams
[info] Created /Users/shinyaa31/IdeaProjects/playfw20scala/.idea_modules/playfw20scala.iml
[info] Created /Users/shinyaa31/IdeaProjects/playfw20scala/.idea_modules/playfw20scala-build.iml
[playfw20scala] $ 


Play2.0プロジェクトをIDEAに取り込み

  • [Import Project]を指定。
  • 対象に上記過程で作成したプロジェクトを指定。
  • [Create Project...]を指定し次へ。
  • 後はそのまま前へ前へ進めて行く。
  • プロジェクト取り込み完了後の状態。ターミナル上で起動〜IDEAで修正〜ブラウザでリロードし内容を反映、等の一連の確認を行う。

Play2.0プラグインの導入

  • さぁ!最後のステップ、IDEA上にPlay2.0プラグインをインストールです。

まずは関連するプラグインを入手。2013/01/19時点での最新0.2.6をダウンロード、解凍した。

  • plugin設定画面で[install plugin from disk...]を押下。scala-play-2.jarを指定し取り込む。


  • 更新ダイアログが出るので内容に従いIDEを再起動。


よっしゃ、これでPlay2.0もガンガン行ける!と思った…のですが、更新後の内容を見ると以下のようなメッセージが。どうやらPlay2.0のサポートはUltimate版でしか正式対応していない模様です。

こちらで確認する限り、個人〜商用で200ドル〜700ドルは掛かる模様。

ちょうど去年マヤ暦による地球終了セールで75%OFF!と賑わっていた時に買っておくべきだったかと悔やむものの、このタイミングではそこまで購入意欲は湧いてなかったからな〜。まぁ仕方無い。こういう機会は年に数回あるようなのでその時期を伺うとしますかね。


ScalaのみならずPlay2.0Scalaについても、EclipseよりもIntelliJの方が『痒い所に手が届く』的な感じで良さ気な気がしている今日この頃。

Scalaの学習についてはIntelliJ/Community Editionでも十分行えるので、まずはScalaを学ぶ事から着手→その後にライセンス購入セールの機会orPlay2.0Scalaを利用する強い機会がやって来た頃にライセンス購入を検討しようかと思います。


その他参考: