Pregunta

Me acaba de empezar con Scala / LiftWeb / Sbt en desarrollo, y me gustaría importar un proyecto SBT IntelliJ IDEA. En realidad, me las arreglé para importar mi proyecto de dos maneras diferentes:

1) con Maven. He creado un proyecto Maven, y encima de eso he creado un proyecto Sbt, que luego Importé en IntelliJ. Entonces podría comenzar fácilmente, detenga el servidor embarcadero, y hacer otras cosas. Pero eso no es lo que quiero. Quiero hacer lo mismo, justo, libre-Maven. Eso me llevó a

2) con Eclipse. Por lo tanto, he creado un nuevo proyecto Sbt (con un pequeño script que escribí, la configuración del proyecto Sbt ser un WebProject). Solía ??entonces el SBT-eclipsify (fuente existente -> Eclipse) plugin para 'convertir' el proyecto para Eclipse, que luego Importé en IntelliJ. Pero los problemas comenzaron aquí: No puedo conseguir el IntelliJ Sbt plugin para el trabajo.

Puede alguien ayudarme con esto?

¿Fue útil?

Solución

Hay tres formas básicas de cómo crear un proyecto - las versiones modernas de IntelliJ pueden importar proyecto SBT fuera de la caja, de lo contrario se pueden utilizar ya sea SBT plugin para generar proyecto de IntelliJ, IntelliJ o utilizar Scala Plugin para crear proyecto de SBT. Las características básicas de trabajo fuera de la caja con las dos soluciones, algún complejo construye puede tener problemas, a fin de tratar otras herramientas para ver si funciona allí.

IntelliJ

IntelliJ IDEA se ha convertido en mucho mejor en estos días. La versión actual (14.0.2) apoya proyectos SBT fuera de la caja con el plugin Scala. Sólo tiene que instalar el plugin y usted debería ser capaz de abrir Scala / proyectos SBT sin ningún problema.

Scala complemento con plugins en Preferencias

Con el plug-in, el punto justo en un proyecto SBT e IDEA se va a ofrecer un asistente para abrir ese tipo de proyecto.

Importar proyecto SBT

IntelliJ Scala Plugin

IntelliJ plugin se puede encontrar aquí http://confluence.jetbrains.com/display/SCA/Scala Plugin + + + para IntelliJ IDEA + o puede ser instalado directoly desde el IDE usando Configuración -> Plugins de diálogo. Después uno puede hacer Archivo -> Nuevo proyecto -> Scala -> basado SBT. IntelliJ generará build.sbt básica, descarga dependencias necesarias y proyecto abierto.

SBT Plugin

Sbt plugin que genera un proyecto de idea basada en los archivos de TBC se pueden encontrar aquí: https: // github .com / mpeltonen / SBT-idea

SBT 12.0 o versiones posteriores y 13,0 +

Simplemente añadir addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2") a su build.sbt; no son necesarios resolutores adicionales.

Las versiones anteriores:

SBT 0,11 +

Crear y añadir 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")

Uso gen-idea en SBT para crear archivos de proyecto IDEA.

Por defecto, los clasificadores (es decir, las fuentes y javadocs) de SBT y dependencias de bibliotecas se cargan si encontraron referencias y añaden a los archivos de proyecto IDEA. Si no desea que se les descarga / de referencia, el uso de comandos gen-idea no-classifiers no-sbt-classifiers.


SBT 0.10.1 (De acuerdo con el autor del plugin, 0.10.0 no trabajo!)

Crear y añadir 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"

Uso de tareas gen-idea SBT para crear archivos de proyecto IDEA.

Por defecto, los clasificadores (es decir, las fuentes y javadocs) de SBT y dependencias de bibliotecas se cargan si encontraron referencias y añaden a los archivos de proyecto IDEA. Si no desea que se les descarga / de referencia, el uso de comandos gen-idea no-classifiers no-sbt-classifiers.


SBT 0.7

Para usarlo, sólo tiene que ejecutar esto desde su shell SBT, utilizará el plugin como un programa externo:

 > *sbtIdeaRepo at http://mpeltonen.github.com/maven/
 > *idea is com.github.mpeltonen sbt-idea-processor 0.4.0
 ...
 > update
 ...
 > idea
 ...

También puede añadir rasgo en su definición del 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)
   // ...
}

Otros consejos

Por ahora lo hago con la mano. Es bastante simple.

  1. Crear el proyecto con SBT
  2. Crear una nueva idea del proyecto con la misma ruta raíz
  3. Crear un módulo con la misma ruta raíz
  4. Conjunto src / main / Scala como un camino src en el módulo
  5. Conjunto src / test / Scala como un camino de prueba en el módulo
  6. Añadir scala-library.jar como una biblioteca
  7. Añadir lib (si está presente) como un directorio frasco dentro de una biblioteca de módulos
  8. Añadir lib_managed / compilación (si está presente) como un directorio frasco dentro de una biblioteca de módulos
  9. Añadir / prueba lib_managed (si está presente) como un directorio frasco dentro de una biblioteca de módulos

Eso es todo de la memoria. Sería mejor si estuviera automatizado, pero no es un gran problema ya que es ahora.

Una nota de precaución: El enfoque anterior no funciona bien con SBT nueva escuela, es decir, versiones 0.10 y posteriores, ya que no copia dependencias en lib_managed por defecto. Puede añadir

retrieveManaged := true

a su build.sbt para que sea copiar las dependencias en lib_managed.

Tempus fugit y IntelliJ IDEA se ha convertido en mucho mejor en estos días. Es 2015, después de todo, ¿verdad?

Una vez dicho esto, la versión más reciente de IDEA 14.0.2 soportes SBT proyectos IntelliJ fuera de la caja con la Scala complemento . Sólo tiene que instalar el plugin y usted debería ser capaz de abrir Scala / proyectos SBT sin muchos problemas.

Scala complemento con plugins en Preferencias

Estoy usando la versión Early Access del plugin que es 1.2.67.6.EAP a partir del momento de la redacción.

Con el punto justo en el plugin de un proyecto SBT e IDEA se va a ofrecer un asistente para abrir ese tipo de proyecto.

Importar proyecto SBT

Acerca de SBT-idea en SBT 0.12.4

Para SBT 0.12.4 el archivo de configuración del plugin 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")

Ejecutar sbt gen-idea para generar archivos de proyecto IDEA.

la idea de SBT-Plugin de para obtener más información actualizada. También puede encontrar mi entrada de blog Importar proyecto basado en SBT a IntelliJ iDEA 13 (con SBT-idea, Scala 2,11 y SBT 0,12) útil.

Para SBT 0.7

la respuesta en otro lugar en esta página .

Para SBT 0.10

SBT-La idea de clonar y construcción Ismael:

git clone https://github.com/ijuma/sbt-idea.git
cd sbt-idea
git checkout sbt-0.10
./sbt package

Crear un directorio SBT plug-in lib si no tiene uno ya

mkdir -p  ~/.sbt/plugins/lib

Copiar el frasco construido en el paso uno en aquí

cp sbt-idea/target/scala-2.8.1.final/*.jar ~/.sbt/plugins/lib

Reiniciar o SBT recarga, entonces se puede ejecutar gen-idea (o gen-idea with-classifiers si desea que las fuentes y javadoc en IntelliJ también)

Fuente: Tackers' en el grupo de mensajes .

En IntelliJ IDEA 13.x sí

Se puede abrir un proyecto basado en SBT en IDEA hoy en día. Se va a crear el proyecto y módulos necesarios, y mantener sus dependencias actualizada cada vez que se realizan cambios en los scripts de construcción.

Me acaba de pasar por todo este dolor. Me paso los días tratando de conseguir un entorno adecuado y han llegado a la conclusión de que ENSIME, SBT y JRebel van a ser mi entorno de desarrollo desde hace algún tiempo. Sí, se va a volver a Emacs, pero ENSIME lo convierte en un bit o una idea con la refactorización, compatibilidad de depuración, navegación, etc. No es ni de lejos tan bueno como Eclipse (Java), pero a menos que los plugins Scala funcionan mejor que es el mejor que tenemos.

Hasta los entornos de desarrollo Scala se levantan a tabaco (Eclipse o IntelliJ) yo no me voy a molestar. Son simplemente demasiado buggy.

Vea la discusión en el sitio de ascensor.

http://groups.google.com/group/liftweb/browse_thread / hilo / 6e38ae7396575052 #

Dentro de ese hilo, hay un enlace a un COMO para IntelliJ, pero aunque funciona un poco, hay muchos problemas que la hacen un poco menos que útiles.

http://blog.morroni.com/2010/07/14/setup-intellij-9-for-lift-framework-development/comment-page-1/

Las respuestas son de edad para el 2014. En IntelliJ 13.x , el plugin 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 y entrar en el terminal

sbt idea

Usted verá dos nuevas carpetas ocultos .idea y .idea_modules .

A continuación, en IntelliJ, Archivo> Abrir> seleccione el proyecto. Debe abrir el proyecto sin ningún problema.

Antes de empezar a crear su proyecto SBT, asegúrese de que el plug-in Scala es descargado y activado en IntelliJ IDEA.

enlace a continuación explica todo lo que necesita saber.

https://www.jetbrains.com/ ayuda / idea / 2016.1 / consiguiendo-comenzó-con-sbt.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top