Je viens de commencer le développement de Scala / LiftWeb / Sbt, et j'aimerais importer un projet Sbt dans IntelliJ Idea. En fait, j'ai réussi à importer mon projet de deux manières différentes:
1) avec Maven. J'ai créé un projet Maven, et en plus j'ai créé un projet Sbt, que j'ai ensuite importé dans IntelliJ. Je pourrais alors facilement démarrer, arrêter le serveur de jetée et faire d'autres choses. Mais ce n'est pas ce que je veux. Je veux faire la même chose, juste sans Maven. Cela m'a conduit à
2) avec Eclipse. J'ai donc créé un nouveau projet Sbt (avec un petit script que j'ai écrit, configurant le projet Sbt pour être un WebProject). J'ai ensuite utilisé le plugin sbt-eclipsify pour 'convertir' le projet pour Eclipse, que j'ai ensuite importé dans IntelliJ (source existante -> eclipse). Mais les problèmes ont commencé ici: je ne parviens pas à faire fonctionner le plugin IntelliJ Sbt.
Est-ce que quelqu'un peut m'aider avec ça?
la source
Réponses:
Il existe trois méthodes de base pour créer un projet - les versions modernes d'IntelliJ peuvent importer un projet sbt hors de la boîte, sinon vous pouvez soit utiliser le plugin sbt pour générer un projet IntelliJ, soit utiliser le plugin IntelliJ Scala pour créer un projet sbt. Les fonctionnalités de base fonctionnent immédiatement avec les deux solutions, certaines versions complexes peuvent avoir des problèmes, alors essayez d'autres outils pour voir si cela fonctionne.
IntelliJ
IntelliJ IDEA est devenu tellement meilleur ces jours-ci. La version actuelle (14.0.2) prend en charge les projets sbt prêts à l'emploi avec le plugin Scala. Installez simplement le plugin et vous devriez pouvoir ouvrir des projets Scala / sbt sans aucun problème.
Avec le plugin, pointez simplement sur un projet sbt et IDEA va vous proposer un assistant pour ouvrir ce type de projet.
Plug-in IntelliJ Scala
Le plugin IntelliJ peut être trouvé ici http://confluence.jetbrains.com/display/SCA/Scala+Plugin+for+IntelliJ+IDEA ou peut être installé directement à partir de l'EDI en utilisant la boîte de dialogue Paramètres -> Plugins. Ensuite, on peut simplement faire File -> New Project -> Scala -> SBT based. IntelliJ générera build.sbt de base, téléchargera les dépendances nécessaires et ouvrira le projet.
Plugin SBT
Le plugin Sbt qui génère un projet d'idée basé sur les fichiers sbt peut être trouvé ici: https://github.com/mpeltonen/sbt-idea
SBT 12.0+ et 13.0+
Ajoutez simplement
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")
à votrebuild.sbt
; aucun résolveur supplémentaire n'est nécessaire.Versions plus anciennes:
SBT 0.11+
Créez et ajoutez les lignes suivantes à
~/.sbt/plugins/build.sbt
OUPROJECT_DIR/project/plugins.sbt
Utilisation
gen-idea
dans sbt pour créer des fichiers de projet IDEA.Par défaut, les classificateurs (c'est-à-dire les sources et les javadocs) des dépendances sbt et de bibliothèque sont chargés s'ils sont trouvés et des références ajoutées aux fichiers de projet IDEA. Si vous ne souhaitez pas les télécharger / les référencer, utilisez la commande
gen-idea no-classifiers no-sbt-classifiers
.SBT 0.10.1 (selon l'auteur du plugin, 0.10.0 ne fonctionnera pas !)
Créez et ajoutez les lignes suivantes à ~ / .sbt / plugins / build.sbt:
Utilisez la
gen-idea
tâche sbt pour créer des fichiers de projet IDEA.Par défaut, les classificateurs (c'est-à-dire les sources et les javadocs) des dépendances sbt et de bibliothèque sont chargés s'ils sont trouvés et des références ajoutées aux fichiers de projet IDEA. Si vous ne souhaitez pas les télécharger / les référencer, utilisez la commande
gen-idea no-classifiers no-sbt-classifiers
.SBT 0.7
Pour l'utiliser, lancez simplement ceci depuis votre shell sbt, il utilisera le plugin comme programme externe:
Vous pouvez également ajouter un trait dans la définition de votre projet, comme vous le souhaitez:
la source
Pour l'instant, je le fais à la main. C'est assez simple.
C'est tout de mémoire. Ce serait mieux s'il était automatisé, mais ce n'est pas grave comme c'est le cas actuellement.
Une mise en garde: l'approche ci-dessus ne fonctionne pas bien avec la sbt nouvelle école, c'est-à-dire les versions 0.10 et plus récentes, car elle ne copie pas les dépendances dans lib_managed par défaut. Vous pouvez ajouter
dans votre build.sbt pour lui faire copier les dépendances dans lib_managed.
la source
Tempus fugit et IntelliJ IDEA sont devenus tellement meilleurs ces jours-ci. C'est 2015 après tout, n'est-ce pas?
Cela dit, la dernière version d'IntelliJ IDEA 14.0.2 prend en charge les projets sbt prêts à l'emploi avec le plugin Scala . Installez simplement le plugin et vous devriez pouvoir ouvrir des projets Scala / sbt sans trop de problèmes.
J'utilise la version Early Access du plugin qui est 1.2.67.6.EAP au moment de la rédaction.
Avec le plugin, pointez simplement sur un projet sbt et IDEA va vous proposer un assistant pour ouvrir ce type de projet.
À propos de sbt-idea dans sbt 0.12.4
Pour sbt 0.12.4, le fichier de configuration du plugin à l'échelle du système -
~/.sbt/plugins/build.sbt
ouPROJECT_DIR/project/plugins.sbt
- doit avoir les lignes suivantes:Courir
sbt gen-idea
pour générer les fichiers de projet IDEA.Lisez le site Web du plugin sbt-idea pour plus d'informations à jour. Vous pouvez également trouver mon entrée de blog Importer un projet basé sur sbt dans IntelliJ IDEA 13 (avec sbt-idea, Scala 2.11 et sbt 0.12) utile.
la source
Pour sbt 0.7
Voir la réponse ailleurs sur cette page .
Pour sbt 0.10
Clonez et construisez l'idée sbt d'Ismael:
Créez un répertoire lib du plugin sbt si vous n'en avez pas déjà
Copiez le pot intégré à la première étape ici
Redémarrez ou rechargez sbt, puis vous pouvez exécuter
gen-idea
(ougen-idea with-classifiers
si vous voulez aussi des sources et javadoc dans intelliJ)Source: suggestion des Tackers sur le groupe de messages .
Dans IntelliJ IDEA 13.x lui-même
Aujourd'hui, vous pouvez ouvrir un projet basé sur SBT dans IDEA. Il créera le projet et les modules nécessaires et maintiendra vos dépendances à jour chaque fois que vous apporterez des modifications aux scripts de construction.
la source
Je viens de traverser toute cette douleur. Je passe des jours à essayer de créer un environnement acceptable et j'en suis venu à la conclusion qu'ENSIME, SBT et JRebel vont être mon environnement de développement pendant un certain temps. Oui, cela revient à Emacs, mais ENSIME le transforme en un peu ou une idée avec refactoring, support de débogage, navigation, etc. mieux que nous ayons.
Tant que les environnements de développement Scala ne seront pas à la hauteur (Eclipse ou IntelliJ), je ne vais pas me déranger. Ils sont juste trop bogués.
Voir la discussion sur le site de l'ascenseur.
http://groups.google.com/group/liftweb/browse_thread/thread/6e38ae7396575052#
Dans ce fil, il y a un lien vers un HOWTO pour IntelliJ, mais bien que cela fonctionne un peu, il y a beaucoup de problèmes qui le rendent un peu moins utile.
http://blog.morroni.com/2010/07/14/setup-intellij-9-for-lift-framework-development/comment-page-1/
la source
Les réponses sont anciennes pour 2014. Dans IntelliJ 13.x , le plugin Scala est la version 0.41.2 (SBT est inclus).
Ma version SBT est 0.13.5 (borne:
sbt sbtVersion
)Allez dans le dossier racine du projet et entrez dans le terminal
Vous verrez deux nouveaux dossiers cachés .idea et .idea_modules .
Puis dans IntelliJ, Fichier> Ouvrir> sélectionnez le projet. Il devrait ouvrir le projet sans aucun problème.
la source
Avant de commencer à créer votre projet SBT, assurez-vous que le plugin Scala est téléchargé et activé dans IntelliJ IDEA.
le lien ci-dessous explique tout ce que vous devez savoir.
https://www.jetbrains.com/help/idea/2016.1/getting-started-with-sbt.html
la source