Scala の一般的な問題のトラブルシューティング
scala および sbt に関する最も一般的な質問については、次の回答を確認してください。これは、プロジェクトの作業中に発生する可能性のあるコンパイラー、パフォーマンス、コードのハイライトの問題を解決できます。
コードが正しくハイライトされないのはなぜですか?
Scala プラグインは独自の型チェッカーを使用し、コードを入力している間に独自の型推論をリアルタイムで実行します。 型チェックは、コードのコンパイルではなく編集用に最適化されています。 そのロジックは Scala コンパイラーから独立しているため、不完全なコードでも動作し、事前のコンパイルは必要ありません。 ただし、Scala プラグインの型チェックの結果が Scala コンパイラーと異なる場合があることも意味しており、これはバグです。
通常、これはコードが複雑で、重要な変更を行ったばかりの場合に発生します。 型チェッカーが追いつくのに時間がかかる場合があり、場合によっては失敗することがあります。
IntelliJ IDEA および Scala プラグインを更新してみてください。 すでに報告され、修正されている問題が発生する可能性があります。
また、 YouTrack(英語) のオープンチケットと固定チケットのリストをご覧になることもできます。 あなたの問題に似た問題を説明しているチケットを見つけ、それが修正されているが、パブリックアップデートチャンネルでまだリリースされていない場合は、 ナイトリーアップデートチャンネルへの切り替えを検討してください。
上記がうまくいかない場合は、まず、私たちのためにチケットを作成してください。
タイプ認識のハイライトが正しいコードをハイライトし、それがめったに発生しないエラーである場合は、ローカルでハイライトを無効にしてみてください。
コードをハイライトし、メインメニューから を選択します。
リストから / * _ * /.../ * _ * / オプションを選択します。

エラーはもうハイライトされません。

多くのコードが間違ってハイライトされている場合は、 コンパイラーベースのハイライト を有効にすることを検討してください。 に移動し、 エディター タブで、エラーのハイライトを コンパイラー に変更します。

プロジェクトの作成コマンドを使用すると、アサーションエラーが発生するのはなぜですか?
Scala のバージョンを 2.12 以降に変更してください。 また、値クラスのプライベートメソッドに一意の名前を使用することをお勧めします。
Scala プロジェクトをコンパイルできないのはなぜですか?
ほとんどの場合、プロジェクトの JDK は Scala または sbt バージョンと互換性がありません。 Scala コンパイルサーバー SDK を変更してみます。
Ctrl+Alt+S を押して設定を開き、 を選択します。
JVM SDK フィールドに適切な SDK を指定します。

Java 8 SDK を Scala バージョン 2.12 として使用することをお勧めします。sbt バージョン 1.10 以降は、古い Java SDK バージョンと互換性がありません。
Scala プロジェクトをコンパイルするときに OutOfMemory 例外を解決するにはどうすればよいですか?
Out Of Memory の問題を Scala コンパイラーで修正するには、 にある Scala コンパイラーサーバー 設定の JVM の最大ヒープサイズ フィールドでヒープサイズを大きくします。

IntelliJ IDEA ベースの Scala プロジェクトを sbt プロジェクトに移行するにはどうすればよいですか ?
build.sbt ファイルをプロジェクトに追加し、プロジェクト全体を build.sbt 内に記述してから、プロジェクトを再インポートする必要があります。
最初から sbt ベースのプロジェクトを選択することをお勧めします。 Scala 入門を参照してください。

IntelliJ IDEA は結合テストの sbt モデルをサポートしていますか ?
sbt プロジェクトをビルドするときは、IntelliJ IDEA プロジェクトモデルには sbt と同じ構成概念がないため、完全にサポートされるのはコンパイルとテストのみであることに注意してください。 その他の場合には、 統合された sbt シェルからビルドを実行することをお勧めします。
sbt プロジェクトで OutOfMemory 例外を解決するにはどうすればよいですか?
sbt プロセスに十分なメモリがない場合、 sbt 設定で最大ヒープサイズを増やしてください(sbt プロジェクト ツールウィンドウにある をクリックしてください)。

Scala プラグインがインポートを未使用としてマークして削除しないようにするにはどうすればよいですか ?
インポートが使用されているかどうかを判断するのは複雑でコストがかかり、場合によっては (たとえば、別のパッケージからインポートされた暗黙的な変換の場合)、Scala プラグインがインポートを誤って未使用としてマークする可能性があります。 その後、 インポートの最適化 アクションを呼び出すと、そのインポートは削除されます。
次の例を検討してください。


HelloWorld 内の import Mappers._ が未使用としてマークされていることに注意してください。 クイックフィックスポップアップメニューを開いて このプロジェクトでインポートを常に使用するようにマークする を選択すると、このインポートが実際に使用されていることを IntelliJ IDEA と Scala プラグインに認識させることができます。

インポートは、常に使用されると見なされるインポートのリストに追加されます。 リストは で変更できます。
また、インポートが未使用としてマークされ、すぐに削除され、クイックフィックスを使用できなくなる場合もあります。 これは、 オンザフライでインポートを最適化する モードを有効にしたことを意味します。 に移動してオフにします。

プロジェクト作成後に scala のバージョンを変更するには ?
ほとんどの場合、プロジェクトの Scala バージョンはプロジェクトのビルドスクリプト (sbt など) で指定され、プロジェクトをインポートするときに IntelliJ IDEA がそれを選択します。 ただし、IntelliJ IDEA で Scala プロジェクトを最初から作成したり、プロジェクトの作成後にビルドスクリプトで Scala バージョンを更新する必要があり、IntelliJ IDEA が変更を登録しない場合があります。
に移動し、左側のリストから グローバルライブラリ を選択します。 そこで、新しい Scala SDK をダウンロードして追加し、Scala バージョンを設定し、プロジェクトから古い SDK を削除できます。

IntelliJ Scala ディスコードサーバー
このページや他のヘルプページで問題の解決策が見つからない場合は、 IntelliJ Scala ディスコードサーバー(英語)に参加して開発チームに直接問い合わせることを検討してください。
質問を投稿する前に、既存の解決策を検索して、問題が解決するかどうかを確認してください。 問題が解決しない場合は、問題の内容、すでに試したこと、発生した結果やエラーを明確に記述してください。