Quel IDE pour Scala 2.8?

ce est la même question pour les versions plus anciennes de Scala, mais ils disent que le plugin Eclipse a été grandement amélioré. C'est le meilleur IDE maintenant? Comment les différents Scal IDE se comparent-ils aujourd'hui?

40
demandé sur Community 2010-04-11 02:13:46

16 réponses

J'ai eu du succès avec L'idée 9. J'ai brièvement essayé Netbeans et Eclipse et je n'ai pas pu obtenir ce que je voulais. Le code d'Eclipse-complete ne se comportait pas aussi bien que je l'aurais voulu, et je ne pouvais pas trouver un moyen de faire des Netbeans gérer des scripts Scala; il se plaignait juste que le fichier n'était pas une classe.

pour être clair, J'utilise IDEA depuis quelques années pour Java, alors gardez cela à l'esprit:)

26
répondu Sean 2010-04-11 05:20:25

pour le moment, le Plugin Scala dans IntelliJ idée est le meilleur. Il gère bien Scala 2.8. IntelliJ IDEA Community Edition est maintenant libre et open source (et fonctionne avec Scala), donc je ne vois aucune raison de ne pas l'utiliser.

le plugin est encore un peu buggé (beaucoup de" faux négatifs", i.e. le code sans underscores rouges ne peut pas compiler avec succès; mais presque pas de" faux positifs"), mais parfaitement utilisable. La meilleure chose est que vous pouvez utiliser L'excellente idée débogueur avec Scala(pas sans problèmes, mais ça marche!).

FSC (Fast Scala Compiler) est également pris en charge dans les dernières versions. Un gain de temps énorme.

l'équipe de développement du plugin est très réactive. Certains des gars travaillent directement dans JetBrains et possèdent une connaissance intime sur la plate-forme D'idée, de sorte que le développement progresse rapidement.

13
répondu Alexander Temerev 2010-04-11 20:15:17

JetBrains IDEA's Scala plug-in poignées 2.7 et 2.8 également bien.

Je ne peux faire aucune comparaison parce que je n'ai utilisé que IDEA.

8
répondu Randall Schulz 2010-04-11 01:01:31

utilisant Eclipse Helios avec la version dev du nouveau plugin Scala(2.8), car il n'y a pas encore de version officielle. Que est bêta, définitivement -- mais je ne peux pas confirmer l'opinion souvent exprimée que ce plugin est carrément horrible; -)

je dirais, l'expérience est déjà OK-ish, et en effet mieux que l'état actuel des choses avec le plugin Groovy. OTOH, L'expérience avec le Java simple est beaucoup plus lisse (se sent comme voler à certains moments), et le CDT actuel Je l'évaluerais un peu dans l'intervalle.

compilation incrémentielle et mise en évidence d'erreurs fonctionnent assez bien pour moi; peaufiner une mise en œuvre DSL en forme juste en réécrivant continuellement votre code jusqu'à ce que les marqueurs d'erreurs sont partis-sans jamais avoir à tester-exécuter votre programme-est tout à fait amusant et juste montre à nouveau que FP / static Dactylo rocks!

problèmes rencontrés de temps à autre: - implicites et les types imbriqués dans d'autres unités de compilation (esp. imbriquée / super colis), ne sont pas ramassés à des moments où il y a encore d'autres erreurs; ils seront repris après une version complète - il semble y avoir une fuite de mémoire dans la version que j'utilise en ce moment (à partir de fin août 2010), nécessitant de redémarrer l'établi après quelques heures de travail - attention lorsque vous utilisez AspectJ, pour vous assurer que vous obtenez une version du plugin Scala qui s'appuie sur une version JDT weaving bundle qui fonctionne aussi avec AJDT

PS: j'utilise les constructions maven dans tous mes projets et j'ai généré les projets eclipse avec le plugin eclipse-maven, puis je les ai importés comme des projets eclipse simples et plats. Je ne peux que recommander vivement à tout le monde de se tenir à L'écart du plugin M2-eclipse (pour maven) dans son état actuel (2010), il rend votre établi douloureusement lent, est buggy et a beaucoup de comportement presque imprévisible, parce qu'il tente constamment de faire des choses magiques dans les coulisses (et d'ailleurs, l'aspectj le soutien est en panne depuis ce printemps)

6
répondu Ichthyo 2010-09-10 22:12:46

j'utilise à la fois l'éclipse et l'IDÉE

  1. eclipse prend en charge la détection de type est mieux que L'idée (c'est très chose nécessaire si vous voulez programme dans le style fonctionnel que vous pouvez être conscient du type d'expressions et variable.)


    Edit1 : IDEA supporte la détection de type comme eclipse mais vous avez pour définir une valeur dans vos fonctions par exemple: def testTs[A](a:List[String],b:List[A]) = for{ ai <- a bi <- b } yield (ai,bi) } devrait être ont des effets secondaires ont quelques problèmes) dans idea il y a un problème bien connu avec la vitesse de double clic qui s'affiche dans de nombreux cas comme l'ouverture d'un fichier ou la sélection d'une chaîne de caractères dans la source... vous pouvez augmenter le temps de double clic en créant (ou en éditant) /home/.Xressources et ajouter cette ligne: *.multiClickTime: 400

Edit1: en résumé, je préfère utiliser l'IDÉE plutôt que de l'éclipse

5
répondu Esmaeilzadeh 2011-01-28 05:05:08

Une non-réponse: Aucun.

basé sur ce que dit une majorité perçue, IDEA est probablement le meilleur scénario aujourd'hui. Et ça (lire: le plugin Scala) craint. Il ne gère pas bien fsc, l'inférence de type est un gâchis, beaucoup d'erreurs ne sont pas indiquées, un certain nombre de non-erreurs sont marquées comme des erreurs, il est lent (lorsque les inspections sont activées), le coureur de test avale silencieusement l'annulation (!= défaut), les tests, ...

donc je suis passé à un éditeur de texte simple avec mise en évidence de la syntaxe sur l'un et un shell maximisé avec SBT (simple build tool) sur l'autre écran. Génial! SBT est responsive (Vous pouvez laisser les changements de fichiers déclencher la recompilation du code affecté et même les rediffusions de tests), gère les dépendances très facilement et a une sortie utile (esp pour les tests; en utilisant ScalaTest). SBT a augmenté ma productivité par rapport à IDEA beaucoup.

vous perdez l'achèvement du code, Bien sûr, mais geany m'offre des symboles identifiés. Mais tant que les IDEs ne le font pas obtenir l'inférence de type pour fonctionner correctement l'achèvement de code n'aide pas, de toute façon.

certaines personnes se soucient beaucoup de la refonte du code. Apparemment, les IDEs ne font pas un bon travail là-bas non plus. Même s'ils le voulaient, je préférerais les ouvrir pour cette tâche particulière plutôt que de les utiliser tout le temps.

4
répondu Raphael 2011-01-26 16:04:50

je pense que la meilleure option jusqu'à présent est le Scalaïde pour Eclipse. Vous pouvez aller sur le site scalaire et regarder autour pour voir par vous-même. http://scala-ide.org/

les points forts que je vois à ce sujet sont:

    "151970920 à la documentation",
  • tutoriels,
  • constante des rejets, des
  • support de Typesafe.

ici ci-dessous un résumé des principales fonctionnalités:

Scala IDE fournit un support pour le développement d'applications Scala dans la plate-forme Eclipse. Sa cible principale est le support du langage Scala et l'intégration avec les outils Java Eclipse. Il fournit de nombreuses fonctionnalités Eclipse utilisateurs sont venus à attendre, y compris:

  • prise en charge de projets Scala/Java mixtes et de toute combinaison de dépendances de projets Scala/Java. Les opérations par Type sont transparent entre les fichiers et les projets Scala et Java, permettant des références simples de Scala à Java et vice versa.
  • un éditeur Scala avec mise en évidence syntaxique, type inféré, hyperlien vers les définitions, achèvement de code, marqueurs d'erreur et d'avertissement, indentation, correspondance brace.
  • projet et navigation source, y compris le support Scala dans la vue d'Explorateur de paquets avec un contour intégré, une vue de contour, un contour rapide, un type ouvert, un type ouvert hiérarchie.
  • compilation Incrémentielle, lancement d'applications avec le débogueur intégré, concernant l'établissement d'hyperliens à partir de traces de pile à la Scala de la source, de la console interactive.
  • prise en charge du plugin Eclipse et du développement OSGi, y compris l'hyperlien vers Scala source à partir du plugin.fichiers xml et manifestes.

mise à jour: les fonctionnalités et les avantages sont mentionnés sur cette réponse sont pour la version 2.9 et 2.10 de Scala, parce qu'il a été déjà abandonnées. voir ici:

"la version 2.0.1 n'est disponible que pour Scala 2.9, si vous souhaitez utiliser L'IDE Scala avec Scala 2.8, veuillez installer la version 2.0.0 (le support pour Scala 2.8 a été abandonné après la version 2.0.0)

4
répondu Carlos Quintanilla 2012-05-24 22:15:50

mes expériences indiquent clairement IntelliJ idée:

il y a environ six mois, quand j'ai commencé un projet Scala (multi-module) sérieux, J'ai dû abandonner Eclipse comme mon IDE Java préféré et suis passé à IntelliJ (9.0.x). Eclipse Scala IDE était bien trop buggée et a souvent cessé de répondre à un moment donné, même pour les projets les plus simples. Pour la construction de CI (Hudson) et de la ligne de commande, je dépends de Maven (avec le plugin Scala). Les dépendances Maven (incl. Scala libs) sont ramassés gentiment par IntelliJ.

il y a quelques jours, J'ai mis à jour à IDEA X (CE) avec le plugin actuel (nightly build) et le travail est devenu encore plus facile. Bien que fsc se termine toujours après un certain temps lorsque inactif.

de ce que je vois, j'aimerais ajouter, qu'il semble y avoir beaucoup plus d'activité du côté D'IntelliJ pour répondre aux bugs et améliorer le plugin en permanence. Corrigez-moi quand je me trompe, mais le développement de L'éclipse scalaire semble presque bloqué. Toujours pas de libération officielle D'Helios!

NB: juste pour fournir un contexte (pas vantardise, vraiment): le projet susmentionné se compose d'environ 25 modules Scala (POMs), 5 modules Java, 325 fichiers Scala avec un total d'environ 360 classes Scala, les classes de cas et les traits (> 19 kLOC, y compris les commentaires). Ma plate-forme est OS X 10.6, Scala 2.8.1, Java 1.6.

mise à jour: après avoir eu besoin de remaniements assez importants (principalement move class, renommer package), I découvert que l'idée récente 10.0.1 plugin 0.4.413 (et probablement des versions plus anciennes, aussi) a tout à fait quelques problèmes à obtenir des trucs droite. Je ne veux pas expliquer les détails, mais j'ai (presque toujours) fini par réparer manuellement des références non résolues ou du code défectueux. Vous pouvez jeter un oeil à http://youtrack.jetbrains.net pour avoir une idée.

pour tous ceux qui envisagent vraiment de faire un développement sérieux avec Scala, je recommande fortement à evaluer les IDEs en question au-delà des bases. Lorsque vous êtes dans une approche agile, qui dans mon option nécessite un support de refacturation sans douleur et sans surprises (en particulier dans les projets multi-modules), les choses sont assez serrées en ce moment.

ce serait plutôt chouette si quelqu'un produisait une liste de remaniements (et de résultats souhaités), semblable à une spécification indépendante de L'IDE, qui pourrait être utilisée pour vérifier le support de remaniement de l'IDE.

3
répondu Horst Dehmer 2011-01-02 20:03:23

le officiellement approuvé et soutenu (par Typesafe) pour Scala 2.9 est Eclipse. La version actuelle est de loin supérieure aux versions précédentes et inclut une REPL consciente du contexte, un débogueur complet, et même la capacité de déboguer des déclarations de REPL. Je pense que cette question doit être mise à jour et que les réponses doivent être réexaminées.

3
répondu rs_atl 2012-05-24 21:52:19

Je ne recommande pas le Scala IDE/Eclipse. Il n'a pas beaucoup de fonctionnalités qui sont même disponibles pour Eclipse avec Java. Et il y a des bugs.

2
répondu Berlin Brown 2010-05-19 17:20:04

j'utilise les dernières NetBeans et je n'ai rien essayé d'autre. J'ai rencontré au moins deux bugs notables dans NetBeans tout en codant dans Scala:

One: NB vient parfois incapable d'exécuter un programme, accroché à la numérisation classpath.

Solution: créez un nouveau projet, copiez votre code et continuez.

Commentaire: ce bug a plus de 10 ans .

deux: parfois NB ne peut pas voir les membres d'espaces de noms ou de classes particulières et se plaint quand vous les utilisez.

Solution: il suffit d'ignorer et de continuer - le compilateur ne trouve aucune erreur et le programme fonctionne.

2
répondu Ivan 2017-05-23 12:01:09

je recommande le plugin de IDEA pour l'instant.

le plugin Scala pour NetBeans est assez agréable aussi. Il ne supporte pas encore NetBeans 6.9, la version la plus récente, cependant, et vous devez encore le télécharger manuellement au lieu de l'installer directement depuis le gestionnaire de plugin à L'intérieur de NetBeans.

cependant, il s'intègre mieux avec les projets Maven que le plugin D'IDEA (C'est vrai pour NB et IDEA en général, à mon avis).

1
répondu wolverian 2010-06-18 16:34:01

cela dépend en partie de votre style de travail, car toutes les options ont des forces et des faiblesses.

si vous avez besoin de reconfigurer des projets mixtes java/scala, alors IntelliJ est votre seule option.

si vous voulez faire un travail sur le compilateur ou un plugin de compilateur, alors Eclipse a l'avantage de pouvoir lancer un espace de travail runtime avec une construction de compilateur personnalisé, y compris les points d'arrêt. Il s'est également considérablement amélioré pour les 2,8 Scala publier.

Netbeans est un excellent choix si vous êtes déjà très familier avec cette plateforme, les coûts de l'apprentissage d'un nouvel environnement pourrait bien l'emporter sur tous les avantages, et les trois solutions s'améliorent rapidement.

1
répondu Kevin Wright 2010-09-15 01:50:19

Je n'ai pas encore essayé NetBeans Scala plugin, mais je trouve que Intellij idée plugin est de toute façon beaucoup mieux un Scala ide que le Scala eclipse plugin, qui est soooooo lent qui me rend fou. Bien que les applications swing ne fonctionnent pas bien avec mon gestionnaire de fenêtres carrelage.

1
répondu Isaiah 2010-12-08 02:12:41

essayer IDEAX la dernière édition communautaire D'Intellij IDEA (version 10), il a amélioré le plugin scala qui a la compilation de code plus rapide et l'édition en plus de ce qu'il a Maven3 et SBT support avec lequel nous pouvons développer des applications Lift.

1
répondu prassee 2010-12-10 13:30:02

IntelliJ IDEA community edition + Scala Plugin + SBT plugin

1
répondu اشکان نظری 2011-02-14 05:48:46