/var/log/jsoizo

メモ帳 技術とか趣味とか

WSL2ベースでのScala開発環境セットアップめも

とりあえずやったこと書いておくだけの備忘録。 特にハマることはなかった。

WSL2インストール

公式通りに。 docs.microsoft.com

localhostがWSLを向くようにする。 qiita.com

WSL日本語化

sudo apt install -y $(check-language-support -l ja) language-pack-ja

hyper(ターミナルアプリ)

Windows Terminalとどっち使おうか悩んだが、 細かいところに手が届きそうなのでこっちを選んでいる。 とはいえフォントサイズの変更くらいしかやってない。 もう少し手の混んだことをやり始めたら記事にでもする。

hyper.is

zsh

sudo apt install zsh

java(JDK)

Amazon Correttoをインストール docs.aws.amazon.com

wget -O- https://apt.corretto.aws/corretto.key | sudo apt-key add -
sudo add-apt-repository 'deb https://apt.corretto.aws stable main'
sudo apt-get update; sudo apt-get install -y java-1.8.0-amazon-corretto-jdk

jenvで管理したいのでjenvインストール github.com

Corettoをjenv管理下に追加。

jenv add /usr/lib/jvm/java-1.8.0-amazon-corretto/

sbt

www.scala-sbt.org

echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
sudo apt-get update
sudo apt-get install sbt

VSCode & Metals(LSP) & BSP

VSCode Remote(WSL)でWSL上のソースをVSCodeからアクセスできるようにする marketplace.visualstudio.com

Metalsプラグインをインストール marketplace.visualstudio.com

Metalsプラグインのセットアップ時にJDKのパスを指定しなきゃいけないので、 WSL上のJDKがインストールされたパスを指定する。 上でjenv使っているので本当はmetalsが参照するJDKも動的に変わってほしい。

/usr/lib/jvm/java-1.8.0-amazon-corretto/

sbt1.4からはBuild Server Protocolを使って VSCode→metals(LSP)→sbtのBSPという順番で呼び出しができるようになり、 bloopによるビルドを利用しないで開発できるようになった。

eed3si9n.com

最終的にはこんな感じになる。役割がきれいに別れていて良い。 f:id:jsoizo:20201010152242p:plain

BSPについて詳細はここにある。 github.com

ぱっとみた感じデバッグとかは 慣れもあるがIntelliJベースでやったほうが良さそうというか手数が少ない感じもするし、 VSCode使い続けるかは微妙だが一旦これでやっていく。