Scalaの開発環境事情

ScalaはJavaVM上で動作するプログラミング言語の1つで、オブジェクト指向プログラミング言語に関数型プログラミング言語の特徴を取り入れている。Javaプログラマを中心に次世代のプログラミング言語として注目を集めている。

Scalaの開発環境としてはEclipseやNetBeans用のプラグインが存在するが、現時点ではこれらと比較してIntelliJ IDEAのScala向けプラグインが一段抜けた完成度を誇っており、Scalaを用いたプログラミング環境としては一押しだ。

IntelliJ IDEA Community Edition

IntelliJ IDEAはJetBrains社が提供する商用のJava統合開発環境で、細部までこだわった使い勝手のよさで多くの熱心なユーザを持つ。ここ数年はJava以外の言語も積極的にサポートしており、2009年には機能は限定されるものの、オープンソース化され無償で利用可能なCommunity Editionが提供されるようになった。このComminity Edition (本稿執筆時点での最新版は10.0.3) にScala用のプラグインをインストールすることで快適なScalaプログラミング環境を構築することができる。

ScalaプラグインはIntelliJ IDEAのインストール後にプラグインマネージャで追加インストールする。プラグインマネージャは[File]メニューから[Settings]を選択し、設定ダイアログで[Plugins]をクリックすると表示することができる。Availableタブにインストール可能なプラグインが一覧表示されるのでScalaプラグインを選択して右クリック-[Download and Install]でインストールすることができる。

図1: Scalaプラグインのインストール

Scalaプラグインを使ってみよう

InteliJ IDEAでは通常のJavaプロジェクトでScalaを扱う。Javaプロジェクトの作成時にScalaを使用するかどうかを選択する画面が表示されるのでチェックを入れよう。また、Scalaのインストール先を指定する必要があるため、事前に別途Scala本体をインストールしておく必要がある。

図2: Javaプロジェクトの作成時にScalaを選択

なお、IntelliJ IDEA Community EditionはEclipseプロジェクトのインポートや、Mavenにも対応しているため、Eclipse用に作成したScalaプロジェクトやMavenで作成したプロジェクトをインポートして利用することもできる。

プロジェクトを作成したら適当に*.scalaファイルを作成してIntelliJ IDEAのScalaプラグインの機能を確かめてみよう。エディタでは入力補完やエラーチェック、ナビゲーション、アウトライン表示といった機能が利用できる。動作は非常に軽快で安定しているため、ストレスなくプログラミングすることができるだろう。

図3: Scalaコードの編集

また、インポート文の自動編成や変数・メソッドのリネーム、メソッドの抽出、コードのインライン化といったリファクタリング機能も利用することができるなど、機能面でもJavaコードの編集時と遜色はない。

図4: リファクタリングメニュー

作成したScalaプログラムはIntelliJ IDEA上で実行・デバッグが可能なほか、対話型のScalaコンソールを利用することもできる。簡単なコードの動作確認などはScalaコンソールで行うといいだろう。

図5: Scalaプログラムのデバッグ

SBTも利用可能

ScalaではMavenの代わりにSBTというビルドツールが用いられることが多い。IntelliJ IDEAではSBTプラグインをインストールすることでScalaプログラムの実行前にSBTを実行することが可能だ。SBTプラグインはScalaプラグインと同様、プラグインマネージャでインストールすることができる。

インストール後、[File]メニューの[Settings]から[SBT]を選択し、sbt-launcher.jarの場所を指定する。

図6: sbt-launcher.jarの場所を指定

[Run]メニューの[Edit Configurations]から[Scala Script]などを選択し、[Make]のチェックを外し、代わりに[Run SBT Action]にチェックを入れて任意のアクションを選択することでScalaプログラムの実行前にSBTでビルドを行うことができるようになる。

図7: SBTが実行されるように設定

機能は限られているが、SBTを利用する場合はこのプラグインの導入を検討するといいだろう。

まとめ

IntelliJ IDEAのScalaプラグインは現時点では最も完成されたScalaのプログラミング環境といえる。Scalaは記述量が少ないため、いわゆるスクリプト言語のようにエディタだけでもそれなりにコーディングは可能だが、Javaのようにタイプセーフに記述することもできるため、的確な入力ード補完やエラーチェックなどIDEを利用するメリットは大きい。Community Editionを利用することで無償で環境を構築することができるので、Scalaに興味をお持ちの方は是非試してみて欲しい。