Scala Playプロジェクトがあります。Play2.2.1を使用しています。Scala、Play 2がサポートされ、SBTプラグインをダウンロードしました。すべて問題ありませんが、コントローラーでAction onActionを呼び出すと次のエラーが表示されます(スクリーンショットを見てください):
IntelliJを使用していますIDEA 12.1.6Ultimateバージョン。Scalaバージョン2.10.2
誰かがこの問題を解決する方法を知っていますか?
前もって感謝します!
編集
Playコンソールで「playidea」コマンドを使用してIntellij IDEAにプロジェクトを生成し、IDEAプロジェクト構造は次のようになりました:
次に、回答@millhouseを見て、このGithupについて話し合いました( [Play 2.2] "play idea"はターゲットで機能しないソースマッピングを作成します )そして次のフォルダーをから削除しましたソースフォルダ:
- target\scala-2.10\src_managed\main\controllers
- target\scala-2.10\src_managed\main\views
および「レポートの強調表示エラー」は消えましたが、別のエラーがあります:
および
私のルート:
そして、以下に示すように「ソースフォルダ」を変更しました。
しかし、それは私を助けません。そして、「不特定の値のパラメータ」エラーのままです。
ミルハウスの答えは私が正しい答えを見つけるのを助けました。 Play 2.2(およびおそらく以前のバージョンはチェックされていません)は、ルートファイルのscalaバージョンをproject_dir/target/scala-2.10/src_managed/main
に出力します。したがって、IntelliJが強調表示を正しく行うには、src_managed/main
が次のように追加されていることを確認する必要があります。ソースフォルダ。javascriptの逆ルートは何らかの理由でproject_dir/target/scala-2.10/classes_managed
に含まれているので、それも追加する必要があります(スクリーンショットでは、classes_managed
が除外に設定されているように見えるので、で除外を解除する必要があります右側のxボタンを押します。)
これが私のプロジェクト構造のスクリーンショットです:
更新:
Play 2.3(またはおそらく最近のバージョンのIntelliJ)では、classes_managedを追加しても問題は修正されなくなりました。 classes_managedをプロジェクトのソースに追加する代わりに、それを依存関係に追加します。そうすることで、IntelliJはコンパイルされたroutes.classを取得できるはずです。
これは一般的な問題です。IntelliJがコンパイル済みScalaテンプレートとroutes
を探す場所を示す必要があるためです。 IntelliJ12.1インストールで修正した方法は次のとおりです。
target/scala-2.10/classes
ですtarget
ディレクトリおよび/またはそのサブディレクトリの1つを除外されたフォルダ最初に削除する必要がある場合がありますroutes
ファイルと.scala.html
ファイルを別のソースファイルとしてコンパイルした結果を確認する必要があります。これにより、「壊れた」ファイルとして表示されず、オートコンプリートが機能するはずです。