LoginSignup
26
28

More than 5 years have passed since last update.

Scala+PlayをIntelliJで快適に開発するための設定

Last updated at Posted at 2017-11-20

Java8とsbtは入れてる前提。

Playのゲット

コメントがたくさん入ったサンプルのほうが嬉しいので、Starter Projectsをベースにする。

$ git clone git@github.com:playframework/play-scala-starter-example.git
$ cd play-scala-starter-example/

IntelliJで取り込む

IntelliJ Ultimate Editionを前提にする。

  1. IntelliJを開く > Import Project > 「プロジェクトのルートディレクトリ」を選択
    スクリーンショット 2017-07-22 11.02.37.png
  2. 「Import project from external model」にチェックを入れて「SBT」を選択
    スクリーンショット 2017-07-22 11.03.32.png
  3. 「Import Project」画面でDownloadの「Library sources」「SBT sources」「Use SBT shell for build and import」にチェック(もしJDKが設定されてなかったらセット)
    スクリーンショット 2017-11-20 9.16.33.png

IntelliJの実行設定

通常実行

  1. メインメニューから Run -> Edit Configurations を選択
    スクリーンショット 2017-07-17 15.17.58.png
  2. 左上にある + をクリックして、出てきたリストから "SBT Task" を選択する
    スクリーンショット 2017-07-22 11.14.44.png
  3. "Name" と "Tasks" 入力ボックス内に “run” を追加し、OKを選択
    スクリーンショット 2017-07-22 11.15.13.png
  4. IntelliJのツールバーに先程設定した run タスクが出現するので右三角の緑のボタンを押す
    スクリーンショット 2017-07-22 11.17.53.png
  5. http://localhost:9000/ をブラウザで開いて確認

デバッグ実行

IntelliJの設定

こっからは好みで。

行番号表示

Preferences > Editor > General > Appearance > Show line numbersにチェック

ファイル保存時に最後の行に改行追加

Preferences > Editor > General > Ensure line feed at file end on Saveにチェック

ヘッダコメント削除

クラスとか作るたびに、いちいち不要なコメントを付けてくるので消す。

Preference > Editor > File and Code Template > Includes > File Header

右側に下記のようなコードが書かれているので、全部削除すればOK。

/**
 * @author ${USER}
 */

自動コードフォーマット&import文最適化

ファイルを保存したときに自動的に、コードフォーマットとimport文を最適化をしてしまうのが最強に便利。

マクロ作成

1. マクロの記録を開始する
Edit -> Macros -> Start Macro Recording
2.import文を最適化
Code -> Optimize Imports
3.コードフォーマット
Code -> Reformat Code
4.全てのファイルを保存
File -> Save all
5.マクロの記録を終了する
Edit -> Macros -> Stop Macro Recording
6.記録したマクロを名前をつけて保存

「Enter Macro Name」ダイアログに適当に名前を入力して(例:formatted save)、「OK」ボタンを押す

スクリーンショット 2017-07-22 12.17.11.png

キーボードショートカットへの割り当て

1. キーボードにショートカット追加
Preferences > Keymap > Macros

先ほど入力した名前(formatted save)が出てくるので、右クリックして、「Add Keyboard Shorcut」をクリック

1.png

2. ショートカットの入力

First Strokeで「Command + s」(実際のキーボード操作が反映される)

「Assigned to [Main menu | File | Save All]」と表示されるが無視して「OK」ボタンをクリック

スクリーンショット 2017-07-22 12.27.24.png

3. 警告無視

再びWarningが出るが、これも華麗にスルーして「Remove」ボタンをクリック

スクリーンショット 2017-07-22 12.27.48.png

4. 設定反映

「OK」ボタンを押して終了

スクリーンショット 2017-07-22 12.28.13.png

トラブルシューティング

jboss-interceptor-apiがないってエラーが出る

IntelliJでビルドするとエラーが出る場合がある。

[error] (*:updateSbtClassifiers) sbt.ResolveException: unresolved dependency:
sbt.ResolveException: unresolved dependency: org.jboss.interceptor#jboss-interceptor-api;1.1: not found

stackoverflowを参考に、~/.sbt/0.13/global.sbtに下記設定を記述すれば良い。

resolvers += "JBoss" at "https://repository.jboss.org/"

なお、~/.sbt/0.13/global.sbtがない場合は、ファイル自体を新規作成する。

ちなみに、IntelliJで使用するライブラリのようで、build.sbtに書いてもムダだった。そのため、global.sbtに書いてしまっているが、一回書いたら忘れて良い。

Scala SDK の設定

はじめてScalaプロジェクトを作ったときに遭遇した。が、二回目以降出なくなったので、必須かどうかは不明。一応、参考までに実施したことを残しておく。

  1. scalaファイルを開くと Setup Scala SDK と表示されるのでクリック
    スクリーンショット 2017-07-22 12.49.28.png
  2. Createボタンクリック
    スクリーンショット 2017-07-22 12.50.28.png
  3. scalaのバージョンを選択(build.sbtに書いてあるバージョンを選択)
    スクリーンショット 2017-07-22 12.50.45.png
  4. OKボタンクリック
    スクリーンショット 2017-07-22 12.50.28.png

参考:sbtのインストール

sbtが入ってない場合は、sdkman経由で入れるのが便利。sdkmanを使うと、JVM系の言語やFWのインストールが楽に入れられるので、最初にインストールする。

sdkmanインストール

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"

Golangの管理にgvmを使っている人のみ

歴史的経緯からgvmにエイリアスが貼られてしまうので無効化する。

~/.sdkman/etc/config
sdkman_disable_gvm_alias=true

Scalaとsbtのインストール

先程入れた、sdkmanを使ってインストールする。

$ sdk install scala
$ sdk install sbt
26
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
28