2010-01-24 19 views
21

So che questo è un esatto duplicate, ma un anno è passato e Scala sembra essere una cosa in rapido movimento, quindi immagino che potrebbe essere accettabile per chiedere di nuovo:Quali sono i migliori IDE di Scala all'inizio del 2010?

Qual è il miglior IDE per Scala sviluppo destra adesso?

+1

soggettiva e arguementative, meglio chiedere 'che cosa sono buone ...', piuttosto che 'Qual è il miglior ...' –

+4

cambiato il titolo . Non è un problema se aiuta a mantenere aperta la domanda. –

risposta

17

So che il plug-in Eclipse è un lavoro in corso e sta subendo una riscrittura completa per Scala 2.8 ma ho visto un collega utilizzare una compilazione notturna di recente ed era estremamente scadente.

Io uso IntelliJ IDEA (il numero Community Edition 9 è gratuito) e il plugin scala per esso è veramente buono. Eccellente evidenziazione della sintassi, navigazione del codice, ecc. Non è buono come il supporto Java, ma non lo aspetterei necessariamente. È abbastanza buono che mi sento più produttivo di quanto lo sarei stato in Java!

Dispone dell'integrazione delle specifiche e dell'integrazione della console.

+2

Accetto l'eclissi § $% & /(). Sto già pensando di passare a Notepad ++ o qualcosa del genere. Ottimo per il fatto che IntelliJ sia migliore –

+0

FWIW, IntelliJ è molto intuitivo e difficile da usare. Almeno il completamento funziona fuori dalla scatola (a differenza di Eclipse), ma sto ancora lottando per * eseguire * "ciao mondo" in IntelliJ (che compila magnificamente). –

+2

@Alex R - Penso che questa sia un'osservazione in gran parte ingiusta: è * diversa * da Eclipse e quindi può sembrare poco intuitiva perché sei abituato a certi paradigmi. Non riesco nemmeno a capire perché non puoi eseguire hello world: CTRL + SHIFT + F10 eseguirà tutto ciò che è in ambito –

10

Le opzioni principali sono un IDE completo come IntelliJ IDEA, NetBeans o Eclipse o un editor di testo con un livello di conoscenza Scala come TextMate o Emacs.

Personalmente, mi piace IntelliJ il migliore. L'ho usato per lo sviluppo Java per molti anni, soprattutto grazie al suo potere di refactoring e di navigazione del codice. Il plug-in Scala è stato piuttosto approssimativo per iniziare, ma sta migliorando costantemente. È open source, ho contribuito con segnalazioni di bug e alcune correzioni di bug.

I plugin IDE hanno lavorato tutti duramente per essere pronti per Scala 2.8. È stato un obiettivo mobile negli ultimi 6 mesi, soprattutto considerando che la compatibilità binaria è stata interrotta con l'aggiunta di nuove funzionalità. Pertanto, è possibile eseguire l'aggiornamento a una nuova build del compilatore e quindi attendere che le librerie di supporto (ad esempio specifiche, scalatura) vengano aggiornate e ricompilate.

Ora che la Scala 2.8 Beta è imminente, questi problemi sono meno frequenti.

IntelliJ implementa il proprio parser e il tipo di inferenza, come per Java. Ciò consente di essere più tollerante agli errori e di comprendere immediatamente il codice mentre si sta modificando. L'inferenza del tipo non è ancora completa. Eclipse delega la maggior parte di questo lavoro a scalac, il che significa che devono sempre essere d'accordo, ma l'informazione viene rigenerata solo quando si salvano i file e il compilatore viene rieseguito. Non so come funziona NetBeans in questo senso.

16

Ho provato entrambi Eclipse, NetBeans e IntelliJ IDEA,

  • Eclipse è la peggiore, a mio parere. È lento, a volte incasina l'evidenziazione della sintassi, quasi sempre incasina il completamento automatico e l'intero IDE non risponde di volta in volta. Non lo consiglierei per nessun tipo di uso se non per auto-torturare.
  • NetBeans funziona meglio del plug-in Eclipse. Migliore evidenziazione, completamento automatico molto migliore ma ha segnalato errori su una sintassi abbastanza complessa in tutta la sorgente. Ma quando ho eseguito run, il codice viene compilato bene. Non riuscivo a capire perché. Un altro problema è che la funzione di completamento automatico non può suggerire membri privati ​​di classi quando si scrive all'interno del corpo di quella classe. Povero!
  • IntelliJ IDEA funziona bene. Ti raccomando se ti stai seriamente appoggiando allo sviluppo di Scala.

Spero che il plug-in di Eclipse sia più maturo nel tempo ma visto che ha avuto tutto il tempo per diventare maturo, non sono un grande fan dell'idea. Scala ha un grande potenziale, essendo un linguaggio ben pensato, programmatore e funzionante su JVM (che significa grandi prestazioni e alta disponibilità) ma il supporto IDE scadente è la cosa peggiore per un tale linguaggio. Scrivere PHP su un semplice editor di testo è accettabile, ma Scala, con una sintassi così complessa e il requisito di utilizzare le librerie Java gonfiate, ha bisogno di assistenza. Forse l'attuale comunità di Scala con background functinal e Java non può capirlo, ma non ci si può aspettare che i nuovi arrivati ​​adottino facilmente tale linguaggio all'istante.

In ogni caso, andare per IntelliJ IDEA ...

+4

Il problema con Eclipse è che usa scalac internamente per fare l'evidenziazione della sintassi. Quindi se il tuo codice non viene compilato, non può essere evidenziato correttamente! –

+0

Grazie per le informazioni. Ovviamente, non è il modo migliore per implementare l'evidenziazione :). –

+1

Ho pensato che il plug-in Eclipse usasse questo (non scalac) per evidenziare la sintassi: http://lampsvn.epfl.ch/trac/scala/browser/scala-plugin/trunk/src/scala/tools/eclipse/ScalaCodeScanner .scala –

5

In questo momento, l'idea di IntelliJ. E una grande differenza da oggi a un anno fa è che è disponibile una versione gratuita e open source di IDEA.

Personalmente, io uso IDEA CE 9.0.1, ma lasciare la compilazione & test per SBT, che io continuo a correre su un'altra finestra, con cc o ~test.

+1

IDEA + SBT è molto bello, davvero. Di solito, SBT si costruisce molto più velocemente del comando "make" di IDEA. Ma ci sono strani casi in cui il sovraccarico fisso nel comando "make" di IDEA per Scala viene superato dalla determinazione conservativa di SBT su quali file debbano effettivamente essere ricompilati. –

5

Nel contesto di 2.8, ho utilizzato Eclipse 3.5.x con il plug-in notturno e IDEA Community Edition 9.0. IDEA è stata chiaramente migliore per me, tranne che per i tempi di compilazione. Ma io uso sbt in parallelo e si occupa di questo.

miei principali problemi con il plug-in di Eclipse sono:

  • incapacità di cambiare le impostazioni della scheda in Eclipse (anche se questo sembra funzionare per gli altri)
  • codice viene compilato, ma alcuni errori sono ancora evidenziati e ho bisogno di chiudere e riaprire il file
  • Auto-completamento restituisce solo un sacco di scelte

non ho avuto questi problemi in IDEA 9.0 build # IC-93.13 con il recente plug-in 0.3.385. Inoltre IDEA mi mostra dichiarazioni di importazione inutilizzate.

Tutti i plug-in sembrano essere in rapida evoluzione e sono attivamente sviluppati e sospetto che ciò che è vero oggi potrebbe non essere in un mese. Spero che tra qualche mese saremo in grado di utilizzare il nostro IDE preferito e avere un buon supporto per Scala.

(notare che questo è un repost del mio recente risposta a the original question)

+0

Cos'è questo SBT? I lunghi tempi di costruzione e anche i lunghi tempi di avvio delle applicazioni mi infastidiscono. – ziggystar

+0

@ziggystar Strumento di creazione semplice http://code.google.com/p/simple-build-tool –

+0

Le importazioni non utilizzate sono piuttosto inutili perché non tengono traccia delle implicite in modo corretto. Cioè, se un'importazione comporta una conversione implicita (che viene utilizzata), IDEA contrassegnerà erroneamente l'importazione come non utilizzata –

Problemi correlati