Java8とsbtは入れてる前提。
Playのゲット
コメントがたくさん入ったサンプルのほうが嬉しいので、Starter Projectsをベースにする。
$ git clone [email protected]:playframework/play-scala-starter-example.git
$ cd play-scala-starter-example/
IntelliJで取り込む
IntelliJ Ultimate Editionを前提にする。
- IntelliJを開く > Import Project > 「プロジェクトのルートディレクトリ」を選択
IntelliJの実行設定
通常実行
- メインメニューから Run -> Edit Configurations を選択
デバッグ実行
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」ボタンを押す
キーボードショートカットへの割り当て
1. キーボードにショートカット追加
Preferences > Keymap > Macros
先ほど入力した名前(formatted save)が出てくるので、右クリックして、「Add Keyboard Shorcut」をクリック
2. ショートカットの入力
First Strokeで「Command + s」(実際のキーボード操作が反映される)
「Assigned to [Main menu | File | Save All]」と表示されるが無視して「OK」ボタンをクリック
3. 警告無視
再びWarningが出るが、これも華麗にスルーして「Remove」ボタンをクリック
4. 設定反映
「OK」ボタンを押して終了
トラブルシューティング
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プロジェクトを作ったときに遭遇した。が、二回目以降出なくなったので、必須かどうかは不明。一応、参考までに実施したことを残しておく。
- scalaファイルを開くと
Setup Scala SDK
と表示されるのでクリック
参考: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_disable_gvm_alias=true
Scalaとsbtのインストール
先程入れた、sdkmanを使ってインストールする。
$ sdk install scala
$ sdk install sbt