template snippets intellij idea intellij-idea scala-2.10 playframework-2.2

intellij-idea - template - snippets intellij idea



IntelliJ IDEA Informe Resaltando error al usar rutas en Controlador (2)

Tengo un proyecto de Scala Play. Estoy usando Play 2.2.1. Descargué los complementos de Scala, Play 2 supported y SBT. Todo está bien, pero cuando llamo a la ruta en Acción en el controlador aparecen los siguientes errores (Mirar capturas de pantalla):

Estoy usando IntelliJ IDEA 12.1.6 Ultimate version. Scala versión 2.10.2

¿Alguien sabe cómo solucionar este problema?

¡Gracias por adelantado!

Editar

Cuando genero mi proyecto para Intellij IDEA a través del comando "play idea" en la consola de reproducción, y abrí el proyecto en IDEA la estructura del proyecto era tal:

Luego vi answer @millhouse y discutiendo sobre este githup ( [Play 2.2] "play idea" crea que no funciona el mapeo de origen en el destino ) y eliminé las siguientes carpetas de Sources Folders :

  • target / scala-2.10 / src_managed / main / controllers
  • target / scala-2.10 / src_managed / main / views

y "Informe error resaltado" desapareció, pero ahora hay otro error:

y

mi ruta:

Y cambié "Carpetas de fuentes" como se muestra a continuación:

Pero no me ayuda. Y sigue siendo un error de "Parámetros de valor no especificado".


Este es un problema común, es porque IntelliJ necesita mostrar dónde buscar las plantillas compiladas de Scala y el archivo de routes . Así es como lo arreglé en mi instalación de IntelliJ 12.1:

  • Vaya a la configuración del módulo para su proyecto en IntelliJ (seleccione el nivel superior, presione F4)
  • Elija el elemento Módulos en la ventana Estructura del proyecto que aparece
  • Seleccione el elemento del nombre del proyecto (a diferencia del elemento projectname-build )
  • Agregue el directorio de salida del compilador a los elementos de Carpetas de origen ;
    • Para Scala 2.10 es target/scala-2.10/classes
    • Personalmente, encuentro que la IU de IntelliJ es muy poco intuitiva; es posible que deba sacar primero el directorio de target y / o uno de sus subdirectorios de las carpetas excluidas
  • Después de aplicar ese cambio, IntelliJ debería ver los resultados de compilar cada routes y el archivo .scala.html como simplemente otro archivo fuente, para que no se muestren como "rotos" y el autocompletado debería funcionar para ellos.

La respuesta de millhouse me ayudó a encontrar la respuesta correcta. Play 2.2 (y tal vez versiones anteriores, no comprobadas) project_dir/target/scala-2.10/src_managed/main resultado una versión scala del archivo de rutas a project_dir/target/scala-2.10/src_managed/main Entonces, para que IntelliJ tenga el resaltado correcto necesita asegurarse de que src_managed/main se agrega como una carpeta de origen. Las rutas inversas para JavaScript están incluidas por algún motivo en project_dir/target/scala-2.10/classes_managed por lo que deberá agregarlas también. (En su captura de pantalla, parece que classes_managed está configurado como excluido, por lo que querrá classes_managed exclusión presionando el botón x en el lado derecho).

Aquí hay una captura de pantalla de la estructura de mi proyecto:

Actualización :

En Play 2.3 (o quizás versiones recientes de IntelliJ), agregar classes_managed ya no soluciona el problema. En lugar de agregar classes_managed a las fuentes del proyecto, agréguelo a sus dependencias. Al hacer eso, IntelliJ debería ser capaz de recoger las rutas compiladas.