sbt
sbt での作業
sbt プロジェクトをインポートまたは作成したら、その build.sbt ファイルをエディターで直接編集できます。build.sbt では、コンパイラーオプション、サブプロジェクトに関する情報を指定し、タスクと設定を定義することもできます。build.sbt ファイルを変更するたびに、変更内容を IntelliJ IDEA のプロジェクトモデルと同期する必要があります。
build.sbt に加えられた変更を自動的に同期するように、ビルドスクリプトの変更後にプロジェクトを同期するオプションを構成できます。このオプションにアクセスするには、を選択します。
手動同期の場合は、sbt プロジェクトツールウィンドウのツールバーで対応するアクション を使用します。
実行構成の前に実行するために、任意の sbt タスクをアタッチできることに注意してください。
既存の sbt プロジェクトを開く
新しいプロジェクトを作成するには、新規プロジェクトウィザードを起動し、ウィザードに表示される手順に従います。たとえば、Scala と sbt を選択し、プロジェクトの場所、JDK、sbt および Scala のバージョンを指定します。(sbt および Scala のバージョンは自動的に取得されます)。
現在 IntelliJ IDEA でプロジェクトが開かれていない場合は、ウェルカム画面でオープンをクリックします (そうでない場合は、メインメニューからを選択します)。次に、ダイアログで、sbt プロジェクトの説明 build.sbt を含むファイルを選択します。「OK」をクリックし、次のダイアログで「プロジェクトとして選択」をクリックします。
IntelliJ IDEA は IDE で sbt プロジェクトを開いて同期します。プロジェクトを開くときにインポートオプションを調整する必要がある場合は、sbt 設定を参照してください。
sbt および Scala バージョンの互換性を確保する
多くの場合、プロジェクトをチーム間で共有し、特定のバージョンの sbt を使用する必要があります。プロジェクトの build.properties ファイルで sbt バージョンをオーバーライドできます。
sbt プロジェクトを作成するか開きます。プロジェクトツールウィンドウのソースルートディレクトリで build.properties ファイルを見つけ、エディターで開きます。次に、エディターで、プロジェクトで使用する sbt のバージョンを明示的に指定します。
プロジェクトを再インポートします。(sbt ツールウィンドウで をクリックします。)
sbt プロジェクトの構造
sbt プロジェクトを作成またはインポートすると、IntelliJ IDEA は次の sbt 構造を生成します。
プロジェクトを定義し、build.sbt ファイル、src、およびターゲットディレクトリ、モジュールを含む sbt プロジェクト(適切なビルド)。通常のプロジェクトに関連するものすべて。

プロジェクトのサブディレクトリに定義されている sbt ビルドプロジェクト。ビルド定義の一部である追加のコードが含まれています。

実行可能な sbt タスク、コマンド、設定を含む sbt ツールウィンドウ。

sbt プロジェクトを管理する
sbt プロジェクトで作業する場合、IntelliJ IDEA は sbt 構成を唯一の信頼できるソースと見なすため、build.sbt ファイルを使用してプロジェクトに主な変更を加えます。
エディターで build.sbt を手動で変更するたびに、変更をロードする必要があります。IntelliJ IDEA は、エディターの右側に、プロジェクト (Ctrl+Shift+O) の作成を sbt の変更を読み込むに提案する通知アイコンを表示します。

プロジェクトのインポートプロセスを制御する場合は、アクションを手動でトリガーするか、自動再読み込みプロセスを構成できます。
sbt プロジェクトを再ロードする
sbt ツールウィンドウで、リンクされたプロジェクトを右クリックします。
コンテキストメニューからプロジェクトの再ロード
を選択します。
このアクションを呼び出すと、IntelliJ IDEA は sbt ツールウィンドウのプロジェクト構造を解析します。
IntelliJ IDEA はプロジェクトの一部だけを再ロードすることはできません。サブプロジェクトと依存関係を含むプロジェクト全体を再ロードします。
自動再読み込みを構成する
設定ダイアログ(Ctrl+Alt+S)で、に移動します。
または、sbt ツールウィンドウで
をクリックし、自動再ロードの設定オプションを選択します。

ビルドツール設定で、次のオプションを指定します。

ビルドスクリプトの変更を再読み込みする : このオプションはデフォルトで選択されています。自動再ロードを無効にして再ロードプロセスを手動で制御する場合は、このチェックボックスをオフにします。
任意の変更 : build.sbt に加えた変更または外部の変更の後にプロジェクトを自動的に再ロードする場合は、このオプションを選択します。
エディターで sbt ビルドスクリプトを手動で変更するたびに、変更をロードする必要があります。IntelliJ IDEA は、エディターの右側に、プロジェクト (Ctrl+Shift+O) の作成を sbt の変更を読み込むに提案する通知アイコンを表示します。

任意の変更オプションを使用すると、IntelliJ IDEA はすべての変更を自動的に再ロードします。
外部の変更 : このオプションを選択すると、IntelliJ IDEA は、VCS が変更され、IDE の外部でビルドファイルが変更された後にのみ、プロジェクトを自動的に再ロードします。
外部の sbt プロジェクトをリンクする
build.sbt を開きます。
次のコードを指定します。
val localDep = RootProject(file("/path/to/project"))この場合の
localDepは、ファイルシステムのどこかにあるプロジェクトであり、モジュールとしてインポートされます。プロジェクトを再ロードします。(sbt ツールウィンドウで
をクリックします。)
IntelliJ IDEA は、追加されたプロジェクトをプロジェクトツールウィンドウと sbt ツールウィンドウに表示します。
サブプロジェクトまたはモジュールを sbt プロジェクトに追加する
エディターで build.sbt を開きます。
指定、例:
lazy val sampleModule = (project in file("sampleModule"))この場合の
"sampleModule"は、追加するサブプロジェクトです。複数のサブプロジェクトを指定できます。プロジェクトを再インポートします。(sbt ツールウィンドウで
をクリックします。)
IntelliJ IDEA は、適切な情報を含むサブプロジェクトディレクトリを生成し、それをプロジェクトツールウィンドウと sbt ツールウィンドウの両方に表示します。
サブプロジェクトを更新する
Scala のバージョンを変更したときにサブプロジェクトが自動的に更新されるようにするには、サブプロジェクトごとに commonSettings および settings メソッド呼び出しを指定します。
build.sbt を開きます。
たとえば、次のコードを指定します。
lazy val commonSettings = Seq( organization := "com.example", version := "0.1.0-SNAPSHOT", scalaVersion := "2.12.6" ) lazy val moduleSample = (project in file("moduleSample")) .settings( commonSettings )適切な Scala バージョンが、プロジェクトツールウィンドウのサブプロジェクトのディレクトリと、サブプロジェクトの依存関係として sbt ツールウィンドウに追加されます。
sbt シェルを使用する
sbt シェルは sbt プロジェクトに組み込まれており、プロジェクトの開始時に利用できます。sbt コマンドとタスクの実行、プロジェクトの実行とデバッグに sbt シェルを使用できます。
sbt シェルを開始するには、Ctrl+Shift+S (Windows の場合)または⌘+ ⇧+S (macOS の場合)を押します。または、画面の下部にあるツールバーの
をクリックします。ビルドおよびインポート手順で sbt シェルを使用するには、sbt 設定にある sbt シェルを使用するセクションを選択し、sbt シェルを使用して Scala アプリケーションを実行するセクションで説明されている手順を実行します。
デバッグに sbt シェルを使用するには、sbt シェルによるデバッグのセクションを参照してください。
sbt シェルからテストを実行するには:
実行 / デバッグ構成()を開きます。
テスト構成を作成し、使用可能な設定から use sbt オプションを選択します。
sbt タスクを実行する
sbt ツールウィンドウの sbt Tasks ディレクトリから必要なタスクを選択して、sbt タスクを実行できます。
sbt シェルに手動でタスク(コード補完がサポートされている)を手動で入力し、そこから直接実行することができます。
タスクの実行構成を作成できます。例: sbt ツールウィンドウにあるタスクリストの一部ではないカスタムタスクを作成できます。
Alt+Shift+F10 を押して、実行構成を開きます。
実行構成設定を指定し、OK をクリックします。必要に応じて、構成を実行する前に実行する別の構成またはタスクを追加できます。起動前セクションの
をクリックし、表示されるリストから実行する必要があるものを選択します。
集中モード(ツールバーやツールウィンドウなし)で作業している場合、なんでも実行ウィンドウから sbt タスクやコマンドを実行できます。Ctrl を 2 回押してウィンドウを開き、コマンドを入力して Enter を押します。
IntelliJ IDEA は sbt シェルウィンドウに結果を表示します。
sbt 設定を操作する
sbt 設定を使用して、sbt プロジェクト、sbt バージョン、プロジェクトの変更のインポートなどのビルドおよび実行アクションを構成します。
sbt 設定にアクセスする
Ctrl+Alt+S を押して設定を開き、 を選択します。
または、sbt ツールウィンドウのツールバーの
をクリックして、sbt 設定にアクセスします。
ウィンドウは、一般設定と sbt プロジェクトの 2 つのセクションに分かれています。
一般設定
一般設定セクションでは、次のオプションを設定できます。

項目 | 説明 |
|---|---|
JRE | このプロジェクトを実行する JRE を、ドロップダウンリストから選択するか、カスタムの場所を指定して選択してください。これはデフォルトのプロジェクト SDK よりも優先されます。 |
最大ヒープサイズ | sbt の起動時に割り当てられる最大ヒープサイズを指定します。 |
VM パラメーター | sbt に渡す JVM パラメーターを指定します。JVM オプションは、 |
Sbt オプション | sbt に渡す sbt オプションを指定します。利用可能なすべてのオプションを表示するには、 |
環境変数 | sbt プロセスに挿入する環境変数を指定します。 |
ランチャー (sbt-launch.jar) | カスタム sbt ランチャーを指定します。デフォルトでは、IntelliJ IDEA はバンドルされている sbt-launch.jar を使用します。 |
sbt プロジェクト
sbt プロジェクトセクションでは、次のオプションを設定できます。

項目 | 説明 |
|---|---|
ダウンロード | sbt からプロジェクトを再ロードするときにソースをダウンロードするためのオプションを 1 つ選択します。
|
クロスコンパイルされた Scala 3 /Scala 2 プロジェクトを Scala 2 として開く | Scala 2 と Scala 3 の両方に対してクロスコンパイルされたプロジェクトを Scala 2 として開くには、このオプションを選択します。 |
別々のコンパイラー出力パスを使用する | sbt で使用されるものとは異なるクラスファイルディレクトリをコンパイルに使用するには、このオプションを選択します。 |
メインリソースとテストリソースに別々のモジュールを作成する | メインソースとテストソースを別々のモジュールに整理するには、このオプションを選択します。詳細については、ブログ投稿(英語)を参照してください。 |
SBT シェル | チェックボックスを使用して、プロジェクトの再ロードとビルドでの sbt シェルの使用を制御します。 |
プロジェクトの同期中に管理対象ソースを生成する | プロジェクト同期中に、プロジェクトで有効化されているソースジェネレーター(例: sbt-buildinfo、abt-twirl、その他の類似の sbt プラグイン)によって管理されているソースを生成するよう sbt に指示します。アクションとしても利用可能です。 |
デバッグを有効にする | このオプションを選択すると、sbt シェルがデバッグ可能なプロセスとして起動します。これにより、sbt シェルで実行されている sbt プラグインのコードとテストをデバッグできます。 |
最も一般的な sbt の問題と回避策を確認するには、sbt のトラブルシューティングセクションを参照してください。
sbt のパッケージチェッカーサポート
Package Checker は、サードパーティの依存関係に既知の脆弱性がないかチェックするプラグインです。安全なバージョンが利用可能な場合は、それを提案し、コードのセキュリティを強化します。また、ソースコードをスキャンして脆弱な API 呼び出しを検出し、最も重大な問題をハイライトします。このプラグインは IntelliJ IDEA にバンドルされています。
パッケージチェッカーによって特定された問題は、タブに報告されます。プラグインはも提供します。
ここで、Package Checker が org.apache.commons % commons.io % 1.3.2 の脆弱性をどのように説明しているかを確認できます。

詳細については、脆弱で悪意のある依存関係を見つけるを参照してください。
関連ページ:
Gradle
IntelliJ IDEA は Gradle との完全な統合をサポートしており、ビルドプロセスの自動化に役立ちます。新しい Gradle プロジェクトを簡単に作成したり、既存のプロジェクトを開いて同期したり、複数のリンクされたプロジェクトを同時に操作したり、管理したりできます。Gradle プロジェクトを作成して WSL 環境に保存したり、WSL ファイルシステムから開いたりすることもできます。詳細については、WSL のセクションを参照してください。新規 Gradle プロジェクトを作成する新規プロジ...
Maven
IntelliJ IDEA は Maven との完全な統合をサポートしており、ビルドプロセスの自動化に役立ちます。新しい Maven プロジェクトを作成したり、既存のプロジェクトを開いて同期したり、既存の IntelliJ IDEA プロジェクトに Maven サポートを追加したり、マルチモジュールプロジェクトを設定・管理したりできます。Maven プロジェクトを作成して WSL 環境に保存したり、WSL ファイルシステムから開いたりすることもできます。詳細については、WSL のセクションを参照してくだ...
新規プロジェクトを作成する
フレームワークのない新しいプロジェクト:これは、特定のフレームワークを持たない汎用プロジェクトです。後でいつでも必要なフレームワークとテクノロジーを追加できます。IntelliJ IDEA を起動します。ウェルカム画面が開いたら、「新規プロジェクト」をクリックします。それ以外の場合は、メインメニューのに移動します。左側のリストから、アプリケーションで使用する言語を選択します。IntelliJ IDEA ですぐに使用できない言語 (Python や PHP など) を使用する場合は、プラグイン経...
sbt
このページを使用して、sbt プロジェクトの設定を構成します。一般設定 JVM この領域を使用して、JVM 設定を構成します。次のオプションから選択できます。JRE: プロジェクトで使用する JDK を選択します。デフォルトでは、IntelliJ IDEA はプロジェクトの JDK を使用します。最大ヒープサイズ、MB: このフィールドを使用して、コンパイラーを起動するプロセスで使用可能な最大ヒープサイズを指定します。デフォルトの 768 Mb がほとんどの目的に適しています。VM パラメーター:...
sbt ツールウィンドウ
sbt プロジェクトを作成または開くと、sbt ツールウィンドウが自動的に有効になります。右側のサイドバーの sbt をクリックして、ツールウィンドウを開きます。ツールウィンドウには、sbt リンクプロジェクト、そのタスク、依存関係、基になる build.sbt ファイルに加えられたすべての変更が表示されます。sbt:このボタンをクリックすると、現在のビューを設定したりツールウィンドウの表示モードを変更したりするためのメニューが開きます。メニュー項目は、オンまたはオフにできるオプションです。アクティブな...
Scala プロジェクトの実行、デバッグ、テスト
IntelliJ IDEA を使用すると、IntelliJ IDEA の他のアプリケーションで通常行うのと同じように、Scala アプリケーションを実行、デバッグ、テストできます。IntelliJ IDEA では、Scala コードをカバレッジ付きで実行し、コードカバレッジ設定を構成することもできます。Scala アプリケーションを実行する:Scala コードを IntelliJ IDEA から実行する、sbt シェルを使用する、Scala ワークシートを使用して簡単にコードを評価することがで...