Acabo de empezar a desarrollar Scala / LiftWeb / Sbt, y me gustaría importar un proyecto Sbt en IntelliJ Idea. En realidad, logré importar mi proyecto de dos maneras diferentes:
1) con Maven. Creé un proyecto de Maven y, para colmo, creé un proyecto de Sbt, que luego importé en IntelliJ. Entonces podría comenzar fácilmente, detener el servidor del embarcadero y hacer otras cosas. Pero eso no es lo que quiero. Quiero hacer lo mismo, solo sin Maven. Eso me llevó a
2) con Eclipse. Entonces, creé un nuevo proyecto Sbt (con un pequeño script que escribí, configurando el proyecto Sbt para que sea un WebProject). Usé el plugin sbt-eclipsify para ‘convertir’ el proyecto para Eclipse, que luego importé en IntelliJ (fuente existente -> eclipse). Pero los problemas comenzaron aquí: no puedo hacer que el plugin IntelliJ Sbt funcione.
Puede alguien ayudarme con esto?
Hay tres formas básicas de cómo crear un proyecto: las versiones modernas de IntelliJ pueden importar el proyecto sbt al instante; de lo contrario, puede usar el plugin sbt para generar el proyecto IntelliJ o usar el complemento IntelliJ Scala para crear el proyecto sbt. Las funciones básicas funcionan de forma inmediata con ambas soluciones, algunas comstackciones complejas pueden tener problemas, por lo que debe probar otras herramientas para ver si funcionan allí.
IntelliJ IDEA se ha vuelto mucho mejor en estos días. La versión actual (14.0.2) admite proyectos de sbt con el complemento Scala. Simplemente instale el complemento y debería poder abrir proyectos Scala / sbt sin problemas.
Con el complemento, solo apunte a un proyecto sbt e IDEA le ofrecerá un asistente para abrir ese tipo de proyecto.
El plugin IntelliJ se puede encontrar aquí http://confluence.jetbrains.com/display/SCA/Scala+Plugin+for+IntelliJ+IDEA o se puede instalar directoly desde dentro del IDE usando Settings -> Plugins dialog. Después uno puede hacer File -> New Project -> Scala -> SBT based. IntelliJ generará build.sbt básico, descargará las dependencias necesarias y abrirá el proyecto.
El plugin Sbt que genera un proyecto de idea basado en los archivos sbt se puede encontrar aquí: https://github.com/mpeltonen/sbt-idea
SBT 12.0+ y 13.0+
Simplemente agregue addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")
a su build.sbt
; no se necesitan resolvedores adicionales.
SBT 0.11+
Cree y agregue las siguientes líneas a ~/.sbt/plugins/build.sbt
O PROJECT_DIR/project/plugins.sbt
resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/" addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")
Use gen-idea
en sbt para crear archivos de proyecto IDEA.
Por defecto, los clasificadores (es decir, los orígenes y los javadocs) de las dependencias de sbt y de la biblioteca se cargan si se encuentran y las referencias se agregan a los archivos de proyectos de IDEA. Si no desea descargarlos / referenciarlos, utilice el comando gen-idea no-classifiers no-sbt-classifiers
.
SBT 0.10.1 (según el autor del complemento, 0.10.0 no funcionará)
Cree y agregue las siguientes líneas a ~ / .sbt / plugins / build.sbt:
resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/" libraryDependencies += "com.github.mpeltonen" %% "sbt-idea" % "0.10.0"
Use la tarea gen-idea
sbt para crear archivos de proyecto IDEA.
Por defecto, los clasificadores (es decir, los orígenes y los javadocs) de las dependencias de sbt y de la biblioteca se cargan si se encuentran y las referencias se agregan a los archivos de proyectos de IDEA. Si no desea descargarlos / referenciarlos, utilice el comando gen-idea no-classifiers no-sbt-classifiers
.
SBT 0.7
Para usarlo, simplemente ejecuta esto desde tu shell sbt, usará el complemento como un progtwig externo:
> *sbtIdeaRepo at http://mpeltonen.github.com/maven/ > *idea is com.github.mpeltonen sbt-idea-processor 0.4.0 ... > update ... > idea ...
También puede agregar rasgos en la definición de su proyecto, como quiera:
import sbt._ class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaProject { lazy val mySubProject = project("my-subproject", "my-subproject", new DefaultProject(_) with IdeaProject) // ... }
Por ahora hago esto a mano. Es bastante simple.
Eso es de memoria. Sería mejor si fuera automático, pero no es gran cosa como lo es ahora.
Una nota de advertencia: el enfoque anterior no funciona bien con sbt de nueva escuela, es decir, las versiones 0.10 y posteriores, porque no copia las dependencias en lib_managed de manera predeterminada. Puedes añadir
retrieveManaged := true
a su build.sbt para hacer que copie las dependencias en lib_managed.
Tempus fugit e IntelliJ IDEA se han vuelto mucho mejores en estos días. Es 2015 después de todo, ¿no es así?
Habiendo dicho eso, la última versión de IntelliJ IDEA 14.0.2 es compatible con los proyectos de sbt con el complemento Scala . Simplemente instale el complemento y debería poder abrir proyectos Scala / sbt sin demasiados problemas.
Estoy usando la versión de acceso anticipado del complemento que es 1.2.67.6.EAP a partir del momento de la escritura.
Con el complemento solo apunte a un proyecto de sbt e IDEA le ofrecerá un asistente para abrir ese tipo de proyecto.
Para sbt 0.12.4, el archivo de configuración del complemento de todo el sistema – ~/.sbt/plugins/build.sbt
o PROJECT_DIR/project/plugins.sbt
– debe tener las siguientes líneas:
resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/" addSbtPlugin(dependency="com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")
Ejecute sbt gen-idea
para generar archivos de proyecto IDEA.
Lea el sitio web del plugin sbt-idea para obtener más información actualizada. También puede encontrar útil la entrada de mi blog Importación de proyectos basados en sbt a IntelliJ IDEA 13 (con sbt-idea, Scala 2.11 y sbt 0.12) .
Para sbt 0.7
Ver la respuesta en otro lugar en esta página .
Para sbt 0.10
Clona y construye la idea de sbt de Ismael:
git clone https://github.com/ijuma/sbt-idea.git cd sbt-idea git checkout sbt-0.10 ./sbt package
Crea un directorio sbt plugin lib si no tienes uno ya
mkdir -p ~/.sbt/plugins/lib
Copie el tarro construido en el paso uno aquí
cp sbt-idea/target/scala-2.8.1.final/*.jar ~/.sbt/plugins/lib
Reinicia o recarga sbt, luego puedes ejecutar gen-idea
(o gen-idea with-classifiers
si quieres fonts y javadoc también en intelliJ)
Fuente: sugerencia de Tackers sobre el grupo de mensajes .
En IntelliJ IDEA 13.x en sí
Puede abrir un proyecto basado en SBT en IDEA hoy en día. Creará el proyecto y los módulos necesarios, y mantendrá sus dependencias actualizadas cada vez que realice cambios en los scripts de comstackción.
Acabo de pasar por todo este dolor. Paso días tratando de crear un entorno aceptable y llegué a la conclusión de que ENSIME, SBT y JRebel van a ser mi entorno de desarrollo durante algún tiempo. Sí, volverá a Emacs, pero ENSIME lo convierte en un poco o una idea con refactorización, soporte de depuración, navegación, etc. No es para nada tan bueno como Eclipse (Java), pero a menos que los complementos scala funcionen mejor es el lo mejor que tenemos.
Hasta que los entornos de desarrollo de Scala lleguen al rapé (Eclipse o IntelliJ) no me molestaré. Ellos son demasiado buggy.
Vea la discusión en el sitio de levantamiento.
http://groups.google.com/group/liftweb/browse_thread/thread/6e38ae7396575052#
Dentro de ese hilo, hay un enlace a un HOWTO para IntelliJ, pero aunque funciona un poco, hay muchos problemas que lo hacen un poco menos útil.
http://blog.morroni.com/2010/07/14/setup-intellij-9-for-lift-framework-development/comment-page-1/
Las respuestas son antiguas para 2014. En IntelliJ 13.x , el complemento Scala es ver 0.41.2 (SBT está incluido).
Mi versión SBT es 0.13.5 (terminal: sbt sbtVersion
)
Ir a la carpeta raíz del proyecto e ingresar en la terminal
sbt idea
Verá dos nuevas carpetas ocultas .idea y .idea_modules .
Luego, en IntelliJ, Archivo> Abrir> seleccione el proyecto. Debería abrir el proyecto sin ningún problema.
Antes de comenzar a crear su proyecto SBT, asegúrese de que el complemento Scala se haya descargado y habilitado en IntelliJ IDEA.
a continuación, el enlace explica todo lo que necesita saber.
https://www.jetbrains.com/help/idea/2016.1/getting-started-with-sbt.html