Je travaille pour la première fois avec Groovy. Je suis habitué à Python et Clojure où j'ai pu faire la plupart de mon codage au REPL. J'essaie de faire la même chose avec Groovy, mais je ne suis pas sûr d'avoir trouvé une méthode qui corresponde.
Le plugin Groovy Eclipse propose quelques modes interactifs, mais aucun ne me convient.
La première méthode consiste à charger un script Groovy dans la console Groovy. La console m'apparaît comme un éditeur faible sans aucun des agréments d'Eclipse, comme la complétion de tabulation. Il y a quelques capacités d'introspection intéressantes, mais on n'a pas vraiment l'impression d'un développement interactif.
La seconde méthode permet de lancer un Groovy Shell dans l'onglet console d'Eclipse. Cela me donne le REPL que je veux, mais il semble vraiment maladroit de l'exécuter dans Eclipse. Il n'y a pas de complétion de tabulation. Et je dois taper "go" après avoir entré le code que je veux qu'il évalue.
Le plugin Groovy Eclipse n'était pas suffisant, mais le shell Groovy inclus dans la distribution autonome de Groovy fonctionne très bien. Il complète les tabulations (sauf pour les noms de classe) et évalue le code juste après l'avoir saisi. C'est celui qui a documenté aquí .
J'ai creusé un peu plus les différences entre le REPL qui fonctionne dans Eclipse et celui qui fonctionne à partir de la distribution autonome en utilisant la commande groovysh script. Celui d'Eclipse est une instance de 'groovy.ui.InteractiveShell' et celui de la groovysh script est une instance de 'org.codehaus.groovy.tools.shell.Main' . Et j'ai trouvé le code suivant dans le groovysh script
if [ "x$OLDSHELL" != "x" ]; then </br>
startGroovy groovy.ui.InteractiveShell "$@"
else
startGroovy org.codehaus.groovy.tools.shell.Main "$@"
fi
Le code ci-dessus et ce fil Dites-moi que groovy.ui.InteractiveShell va disparaître.
Peut-être est-il prévu d'intégrer plus étroitement le nouveau shell dans Eclipse à l'avenir ?
Quoi qu'il en soit, j'ai réussi à pirater le système pour pouvoir appeler la fonction groovysh script avec les classpaths nécessaires pour travailler avec le code de mon projet Eclipse. Maintenant, je peux développer joyeusement au niveau de la REPL. Mais c'est compliqué et j'utilise les jars de la distribution Groovy stand-alone pour démarrer Groovy au lieu de ceux utilisés dans mon projet Eclipse. Je me dis qu'il y a peut-être une meilleure solution.
Quelqu'un a-t-il trouvé un bon moyen d'intégrer le REPL qui se lance à partir de la commande groovysh script et un projet dans Eclipse. Ou avez-vous trouvé une meilleure façon de développer avec un REPL Groovy ?