2010-01-24 6 views
21

Sé que esto es una exacta duplicate, pero un año ha pasado y Scala parece que hay una cosa que se mueve rápidamente, así que calculo que podría ser aceptable para preguntar de nuevo:¿Cuáles son los buenos IDEs de Scala a comienzos de 2010?

¿Cuál es el mejor IDE para Scala derecho desarrollo ¿ahora?

+1

subjetiva y arguementative, mejor preguntar '¿Cuáles son buenas ...' en lugar de '¿Cuál es la mejor ...' –

+4

cambió el título . No es un problema si ayuda a mantener la pregunta abierta. –

Respuesta

17

Sé que el plugin de Eclipse es un trabajo en progreso y se está reescribiendo por completo para Scala 2.8, pero vi a un colega usar una versión nocturna recientemente y era extremadamente pobre.

Yo uso IntelliJ IDEA (el Community Edition 9 es gratis) y el plugin scala es realmente bueno. Excelente resaltado de sintaxis, navegación por código, etc. No es tan bueno como el soporte de Java, pero no necesariamente lo esperaría. ¡Es tan bueno que siento que soy más productivo de lo que hubiera sido en Java!

Tiene integracion de Specs e integracion de consola tambien.

+2

Acepto el eclipse § $% y /(). Ya estoy considerando cambiar al bloc de notas ++ o algo así. Genial aquí que IntelliJ es mejor –

+0

FWIW, IntelliJ es muy poco intuitivo y difícil de usar. Al menos la finalización funciona de la caja (a diferencia de Eclipse), pero todavía estoy luchando por * ejecutar * "hello world" en IntelliJ (aunque se compila maravillosamente). –

+2

@Alex R - Creo que esta es una observación en gran parte injusta: es * diferente * de Eclipse y, por lo tanto, puede parecer poco intuitivo porque está acostumbrado a ciertos paradigmas. Tampoco estoy viendo por qué no puedes ejecutar hello world: CTRL + SHIFT + F10 ejecutará lo que esté en el alcance –

10

Sus principales opciones son un IDE completamente desarrollado como IntelliJ IDEA, NetBeans o Eclipse, o un editor de texto con cierto conocimiento de Scala como TextMate o Emacs.

Personalmente, me gusta IntelliJ el mejor. Lo he estado usando para el desarrollo de Java durante muchos años, especialmente debido a su poder de refactorización y navegación por código. El plugin Scala fue bastante difícil para empezar, pero está mejorando constantemente. Es de código abierto, he estado contribuyendo con informes de errores y algunas correcciones de errores.

Los complementos IDE han estado trabajando duro para estar preparados para Scala 2.8. Ha sido un objetivo en movimiento durante los últimos 6 meses, especialmente dado que la compatibilidad binaria se rompió a medida que se agregaron nuevas características. De modo que puede actualizar a una compilación nueva del compilador y luego esperar a que se actualicen y recompilen las bibliotecas de soporte (por ejemplo, especificaciones, scalatest).

Ahora que el Scala 2.8 Beta es inminente, estos problemas son menos frecuentes.

IntelliJ implementa su propio analizador y tipo de inferencia, como lo hace para Java. Esto le permite ser más tolerante con los errores y comprender inmediatamente su código mientras edita. La inferencia de tipo aún no está completa. Eclipse delega la mayor parte de este trabajo en scalac, lo que significa que siempre deben estar de acuerdo, pero la información solo se regenera cuando guarda archivos y el compilador se vuelve a ejecutar. No sé cómo funciona NetBeans en este sentido.

16

He intentado tanto Eclipse, NetBeans y IntelliJ IDEA,

  • Eclipse es el peor en mi opinión. Es lento, a veces confunde el resaltado de sintaxis, casi siempre arruina la autocompletación y todo el IDE deja de responder de vez en cuando. No lo recomendaría para ningún tipo de uso a excepción de auto torturas.
  • NetBeans funciona mejor que el plugin de Eclipse. Mejor resaltar, mucho mejor autocompletado, pero ha estado informando errores en una sintaxis bastante compleja en toda la fuente. Pero cuando presiono ejecutar, el código se compila muy bien. No pude entender por qué. Otro problema es que la función autocompletar no puede sugerir miembros privados de las clases cuando estás escribiendo dentro del cuerpo de esa clase. ¡Pobre!
  • IntelliJ IDEA funciona bien. Lo recomiendo si se está apoyando seriamente en el desarrollo de Scala.

Espero que el plugin de Eclipse sea más maduro en el tiempo pero dado que tenía mucho tiempo para madurar, no soy un gran admirador de la idea. Scala tiene un gran potencial, ya que es un lenguaje bien pensado y amigable con los programadores y se ejecuta en JVM (lo que significa un gran rendimiento y alta disponibilidad), pero el soporte IDE deficiente es lo peor para dicho lenguaje. Escribir PHP en un editor de texto simple es aceptable, pero Scala, con una sintaxis y un requisito tan complejos para usar las bibliotecas Java infladas, necesita ayuda. Tal vez la comunidad actual de Scala con fondo funcional y de Java no pueda entender esto, pero no se puede esperar que los recién llegados adopten fácilmente ese lenguaje al instante.

De todos modos, vaya para IntelliJ IDEA ...

+4

El problema con Eclipse es que usa scalac internamente para resaltar la sintaxis. Por lo tanto, si su código no se compila, ¡no se puede resaltar correctamente! –

+0

Gracias por la información. Obviamente, no es la mejor manera de implementar el resaltado :). –

+1

Pensé que el complemento Eclipse usaba esto (no scalac) para resaltar la sintaxis: http://lampsvn.epfl.ch/trac/scala/browser/scala-plugin/trunk/src/scala/tools/eclipse/ScalaCodeScanner .scala –

5

En este momento, la idea de IntelliJ. Y una gran diferencia desde ahora hasta hace un año es que hay disponible una versión gratuita y de código abierto de IDEA.

Personalmente, yo uso IDEA CE 9.0.1, pero dejan compilación & pruebas para SBT, que sigo corriendo en otra ventana, con cc o ~test.

+1

IDEA + SBT es muy agradable, de hecho. Generalmente, SBT se construye considerablemente más rápido que el comando "make" de IDEA. Pero hay casos extraños en los que se excede la carga fija en el comando "make" de IDEA para Scala por la determinación conservadora de SBT sobre qué archivos necesitan una recompilación. –

5

En el contexto de 2.8, he utilizado Eclipse 3.5.x con el plugin nocturno e IDEA Community Edition 9.0. IDEA ha sido claramente mejor para mí, a excepción de los tiempos de compilación. Pero uso sbt en paralelo y se encarga de eso.

Mis principales problemas con el plug-in de Eclipse son:

  • incapacidad de cambiar mi configuración de la ficha en Eclipse (sin embargo, que parece funcionar para otros)
  • código se compila pero algunos errores todavía están resaltados y necesito cerrar y volver a abrir el archivo
  • Auto-realización sólo devuelve una gran cantidad de opciones

no tenía esos problemas en IDEA 9.0 build # IC-93.13 con la reciente plug-in 0.3.385. Además, IDEA me muestra las declaraciones de importación no utilizadas.

Todos los complementos parecen estar evolucionando bastante rápido y se desarrollan activamente, y sospecho que lo que es cierto hoy puede no ser en un mes. Espero que dentro de unos meses podamos usar nuestro IDE favorito y tener un buen soporte de Scala.

(tenga en cuenta que esto es un repost de mi reciente respuesta a the original question)

+0

¿Qué es este SBT? Los largos tiempos de compilación y también los largos tiempos de inicio de las aplicaciones me molestan. – ziggystar

+0

@ziggystar Simple Build Tool http://code.google.com/p/simple-build-tool –

+0

Las importaciones no utilizadas son bastante inútiles porque no rastrean implícitamente las implícitas. Es decir, si una importación genera una conversión implícita (que usa), IDEA marcará erróneamente la importación como no utilizada. –

Cuestiones relacionadas