はじめに
みなさんScalaのコーディングに何使ってますか?
おそらくデファクトであるIntellij IDEAを使っている方が多いんじゃないかと思いますが、わたしもその一人でした。
最近テレワークが多くなって、ペアプロも気軽に席に行って...ということが難しくなってきました。
画面共有という手もありますが、IDEと同時に起動するとPCが熱くなってきますし、やっぱりペアプロするには見ているところをあたかも隣にいる感覚でやりたいですよね。
以前からVisual Studio CodeでScalaを書くという試みはやっていたのですが、最近Metalsに出会ったので共有しようと思います。
Metalsとは
Metalsは、Scala用のLanguage Serverです。
Visual Studio Codeや、VimなどのテキストエディタでIntellijのようなIDEの機能を提供します。
コードジャンプはもちろん、型の定義を表示したり、参照されている箇所をすべて検索することができます。
わたしはv0.8.4から使用しているのですが、2020/05/04にリリースされたv0.9.0ではScala 3もサポートされ、動作がかなり軽くなった印象があります。
詳細の使い方はMetalsの公式ドキュメントを参照ください。
Visual Studio Live Shareとは
Visual Studioに含まれている、共同開発ができるツールです。Visual Studio Code用にも拡張機能が提供されています。
とにかくすごくて便利なので、動いている模様はこちらの公式サイトをご覧ください。
ざっと共同編集の他に、以下の機能があります。
- チャット
- 通話機能
- ローカルのポートを参加者と共有する
- ターミナル共有
サクッとやる
まず、Visual Studio Codeをインストールしましょう。
Metalsの設定
拡張機能をインストールする
Scalaを使用するには、以下のリンクから拡張機能をインストールしてください。
Scala(Metals)をインストール
ペアプロするには、VSCode用の拡張であるLive Share Extension Packが必要です。
Live Share Extension Packをインストール
インストールが終わったらリロードしておきましょう。
build.sbtがあるディレクトリをVSCodeで開く
準備はたったこれだけです!
右下にImport build
というボタンが現れるのでクリックします。(スクショはこちらから引用)
.gitignoreを編集
Import buildが始まると、Metalsがファイルを生成しだすので無視してやります。
.gitignore
に以下を追加します。
.metals/
.bloop/
project/metals.sbt
以上でScalaを書く準備は完了です!
ペアプロの設定
以下、新しく共同編集のセッションを作る手順です。
画面左下のLive Shareをクリック
MicrosoftかGitHubアカウントでログイン
認証のためにブラウザで新しいタブが開くので、AuthorizeしてVSCodeに戻りましょう。
招待リンクをコピーして参加者に共有する
画面右下から、Copy again
をクリックするとクリップボードに招待リンクがコピーされます。
参加者はこのリンクを使って、作成した共同編集のセッションに参加できます。
ペアプロの準備ができましたね!
使ってみて分かったことなど
- PlayFrameworkの
views
ディレクトリ以下やroutes
ファイルでは、コードジャンプと補完が効かない - 動作がおかしくなったら、
.bloop
ディレクトリを削除すると正常に戻った - importの挙動がイケてない(Intellijだと
Alt+Enter
のやつ)
Intellijの使用感に近づけるプラグインたち
- Intellijのダークテーマに似せるDracula Intellij Theme
- エディタ内でデータベースを扱えるSQLTools
おわりに
前からIntellijから乗り換えたかったんですが、Metalsのおかげでだいぶ普段使いができるようになったと思います。
動作が軽くなって、しかも無料でペアプロできるのですが、Scalaに関する機能はまだまだ発展途上です。
Intellijも進化していてときどき浮気したくなりますが、これからもMetalsの動向をウォッチしておきます。