11.03.2012

Mac: Coding Scala with IntelliJ IDEA (2)

Mac: IntelliJ IDEA で Scala コーディング (2)

前回(http://mogproject.blogspot.jp/2012/11/mac-coding-scala-with-intellij-idea-1.html)の続き。

  • 前提条件

Scala がインストールされていること
  参考 http://mogproject.blogspot.jp/2012/06/installing-scala-in-mac-os-x.html)

3. プロジェクトの作成

手順に入る前に、IDEAの用語について理解する必要がある。

Eclipse FAQ - http://wiki.jetbrains.net/intellij/Eclipse_FAQ

にあるように、Eclipse の『プロジェクト』は、IDEAでは『モジュール』と呼ぶ。
そして、Eclipse の『ワークスペース』(複数のプロジェクトをまとめた単位)に相当するのが、
IDEAの『プロジェクト』である。

それを踏まえ、まずはプロジェクト(最も大枠の単位)を作成する。

IntelliJ IDEA 11 1 4

Welcome 画面から、Quick Start -> Create New Project をクリック。
New Project 2 ウィザードが立ち上がるので、一番上の Create project from scratch (プロジェクトの新規作成)を選択、Next をクリック。
New Project

プロジェクト名(Project name)、格納先(Project files location)を適宜指定。

その下の Create Module にチェックを付けると、プロジェクトと一緒にモジュールを作成することができる。

今回はモジュールも作成するが、後から追加することも簡単にできる。
特に複数のモジュールでプロジェクトを構成するような場合には、このタイミングでモジュールを作成しなくてもよさそうだ。

モジュールの設定では、Select type にて Java Module を指定し、Next をクリック。

New Project

ソースディレクトリの作成に関する指定。

通常はデフォルトのとおり、src ディレクトリを作成しておくのが無難。

Next をクリック。

New Project

Java SDK の指定画面。

初期状態では何もないので、右上の Configure… をクリック。

New Project

JDKのインストール先を選択。

今回は
  /Library/Java/JavaVirtualMachines/
    1.7.0.jdk/Contents/Home
を選択。 

戻った画面で Next をクリック。

New Project

左側のペインで Scala を選択。

Use Scala distribution を選択してから
Scala のパス: 手元の環境なら
  /usr/local/Cellar/scala/2.9.2/libexec
を選択。 

brew でインストールした場合には、ここでlibexec まで指定しなければならないので注意。

  => 参照

しかしまだ何やら警告が出ている。
/doc/scala-devel- … が見つからないとのこと。

$ cd /usr/local/Cellar/scala/2.9.2/libexec
$ mkdir -p ./doc/scala-devel-docs
$ cd ./doc/scala-devel-docs
$ curl -O http://www.scala-lang.org/downloads/distrib/files/scala-docs-2.9.2.zip
$ unzip ./scala-docs-2.9.2.zip
$ mv -i ./scala-docs-2.9.2 ./api
$ rm -i ./scala-docs-2.9.2.zip

上記の参照先に解決方法が載っていた。

このURLからドキュメントをダウンロードし、Scala ホーム配下の doc/scala-devel-docs/api ディレクトリへ配備しないといけないようだ。

コマンド実行例は左記のとおり。 

New Project

エラーが消えたら、プロジェクトに対応する『ファセット』の設定を行う。

ファセットとは、直訳すると面、様相、一面。
フレームワークや言語のコンフィギュレーションをひとまとめにした単位のことらしい。

今回は、コンパイラおよびライブラリの名前にバージョンを付け足し、適用レベルを global に変えてみた。

Finish をクリック。

Tip of the Day

プロジェクトがロードされ、Tip of the Day がランダムに表示される。

読む必要がなければ、Show Tips on Startup のチェックを外して Close すればよい。

Hello scala   proj hello scala

プロジェクトのウィンドウはこのような感じ。

右上にメッセージが出た場合は、Event Log からもその内容を確認できる。

 

4. ソースコードの作成

「hello_scala」パッケージの「HelloScala」というオブジェクトを作成する。
内容はメッセージを1行表示するだけ。 

Pasted Image 6 src ディレクトリで右クリックし、
New -> Package を選択。 
New Package パッケージ名を入力し、OK をクリック。
Pasted Image 11 6 12 8 23 AM 作成された hello_scala パッケージを右クリックし、New -> Scala Class を選択。
Create New Scala Class

オブジェクト名を入力し、Kind に Object と指定して OK をクリック。

ちなみに、このとき hello_scala.HelloScala というように <パッケージ名>.<オブジェクト名>と指定すれば、パッケージ作成処理を省略できる。

Pasted Image

ここからは、ソースコードの編集。
Vimキーバインドが心地よい。 

オブジェクトを実行可能にする方法を2つ紹介する。

1つ目は、scala.App トレイトを継承する方法。

オブジェクトの定義に
  extends App
と追加すればよい。

このとき、実際のキー入力は
  e <タブ> Ap <タブ> 
だけでよかった。

HelloScala scala   hello scala  hello scala   proj hello scala

 2つ目は、コード補完を利用して main メソッドを定義する方法。

main と入力してタブキーを押下すると・・・

HelloScala scala   hello scala  hello scala   proj hello scala 自動的に main メソッドのテンプレートに置き換わる。 
Pasted Image 11 6 12 10 30 PM ソースコードを書き終わったら、右クリックして Run 'HelloScala.main()' を選択。
 HelloScala scala   hello scala  hello scala   proj hello scala プログラムが実行され、コンソールウィンドウに処理結果が表示された。

 

Related Posts

Mac: Coding Scala with IntelliJ IDEA (1)
http://mogproject.blogspot.jp/2012/11/mac-coding-scala-with-intellij-idea-1.html

 

References

Getting Started with IntelliJ IDEA Scala Plugin
http://confluence.jetbrains.net/display/SCA/Getting+Started+with+IntelliJ+IDEA+Scala+Plugin 

Project Configuration Explained
http://devnet.jetbrains.net/thread/290032

0 件のコメント:

コメントを投稿