IntelliJ IDEA Community 2021でsbt projectを設定する

何度目かのハマりだったので,メモしておきたい.

なんでデフォルトでantプロジェクトになっちゃうんだろう.新規でsbtプロジェクトを作成するのではなく,なんらかのはずみでできてしまったプロジェクトを,あとからsbtプロジェクトにする方法が分からなかったという話.

やろうとしたこと/やってみたこと

  • IntelliJ IDEA Community 2021でScalaを書こうと思った
  • githubにREADME.mdしか作っていないプロジェクトがあったので,それを利用しようと思った
  • IntelliJで,githubのカラプロジェクトをimportする形で新規プロジェクトを作った
  • IntelliJのTerminalで,Scala3のテンプレートを作った
 sbt new scala/scala3.g8
  • IntelliJ上ではsbtプロジェクトだと認識されず,sbt shellも見当たらずsbt ツールウィンドウも出ない
  • Build Projectを選んでも,antが走るのみでsbtコマンドは実行されない
  • IntelliJをいくら触っても,プロジェクトの設定をantからsbtに変更する設定が見当たらなかったので,最初からsbtプロジェクトとしてIntelliJ上で作成したファイルとの違いを調べてみた
  • githubからimportしたプロジェクトは,.idea/sbt.xmlというファイルがあるが,内容がしょぼい

こんな感じでした↓

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ScalaSbtSettings">
    <option name="customVMPath" />
  </component>
</project>
  • そこで,最初からsbtプロジェクトとして作成したプロジェクトのファイルと,しょぼい内容を適当にマージして.idea/sbt.xmlを上書きした

こんな感じ↓

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ScalaSbtSettings">
    <option name="customVMPath" />
    <option name="linkedExternalProjectsSettings">
      <SbtProjectSettings>
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="modules">
          <set>
            <option value="$PROJECT_DIR$" />
            <option value="$PROJECT_DIR$/project" />
          </set>
        </option>
        <option name="sbtVersion" value="1.4.9" />
      </SbtProjectSettings>
    </option>
  </component>
</project>
  • IntelliJを再起動したら,sbtツールウィンドもsbt shellも出てきた(∩´∀`)∩わーい

sbtツールウィンドウ↓

f:id:tullio:20210810234606p:plain
sbtツールウィンドウ

sbt shell↓

sbt shell
sbt shell

なんでもっと簡単に設定できないんだろう?