これまでScalaでの開発にはENSIMEを使ってきたけど, もうそろそろ頃合いだとおもうのでMetalsに乗り換えた. エディタ側でLSPのサポートが充実してきているのでこれはだいぶ簡単で, さっくり乗り換えることができた. Metalsはビルド部分は裏側でBloopを使っているので, テストの実行なんかもこれに乗っかるとだいぶ楽になる. けどEmacsからBloopを利用するにはまだちょっと面倒なところもあったので, この際いろいろ整備してみた. Metals + Bloop MetalsはまぁふつうにScalaのlanguage serverという感じだけど, ENSIMEと比べると以下の点が強力(個人的な視点). コンパイラがホンモノなのでエラーを誤検知しない (従来の開発環境では) presentation compilerと呼ばれる, ちょっとインチキしてるやつだった 誤検知で