最近またScalaでお仕事しています。
今回はPlay Frameworkでの仕事ですが、なぜか現場の方でIDE環境などが未整備なので自分で整備しました…。
IntelliJ CE版でよく見つかるやり方だとterminal/cmdプロンプト上で
sbt -jvm-debug 9999 run
IntelliJ上でリモートデバッグするやりかたが出てきますが、これだとエラーなどが出た時にIntelliJのソースに直接飛べないなど不便があるのでCE版でも出来る限り便利なようにしていきます
(有償版のIntelliJ Ultimate Editionだと標準サポートしています)
Listening for transport dt_socket at address: 51259
の番号をコピーします(このアドレスはsbt起動ごとに変わります)Port:
に先程コピーした dt_socket at addressの
番号を貼り付けます。localhost:9000
の自分がデバックしたい任意のURLなど指定して実行します。sbt -jvm-debug 9999 run
してリモートでバックするのと比べるとPlay起動時に毎回port番号を指定する必要があることですが、その代わりにsbt shellの色分け、エラーなどのリンククリックでIntelliJのソースに直接遷移してくれるので実際の開発効率はかなり上がります。これが面倒ならIntelliJ Ultimateをお買い上げ下さい(笑)