Question

Je viens d'avoir commencé avec Scala / LiftWeb / Sbt en développement, et je souhaite importer un projet SBT Idea IntelliJ. En fait, j'ai réussi à importer mon projet de deux façons différentes:

1) avec Maven. J'ai créé un projet Maven, et de plus, je créé un projet SBT, que je puis en IntelliJ importé. Je pourrais alors facilement démarrer, arrêter le serveur de la jetée, et faire d'autres choses. Mais ce n'est pas ce que je veux. Je veux faire la même chose, juste Maven sans. Cela me conduit à

2) avec Eclipse. Donc, j'ai créé un nouveau projet Sbt (avec un petit script que j'ai écrit, la configuration du projet SBT un ProjetWeb). Je puis le plugin SBT-eclipsify à « convertir » le projet Eclipse, que je puis importé dans IntelliJ (source existante -> Eclipse). Mais les problèmes ont commencé ici: je ne peux pas obtenir le plug-in Sbt IntelliJ au travail.

aide quelqu'un peut me avec cela?

Était-ce utile?

La solution

Il y a trois façons comment créer un projet - les versions modernes de IntelliJ peuvent importer projet SBT hors de la boîte, sinon vous pouvez utiliser le plugin SBT pour générer projet IntelliJ, ou utiliser le plugin IntelliJ Scala pour créer projet SBT. Caractéristiques de base travaillent hors de la boîte en utilisant les deux solutions, certaines constructions complexes peuvent avoir des problèmes, essayez donc d'autres outils pour voir si cela fonctionne il.

IntelliJ

IntelliJ IDEA est devenu tellement mieux ces jours-ci. La version actuelle (14.0.2) soutient des projets SBT de la boîte avec le plugin Scala. Il suffit d'installer le plug-in et vous devriez être en mesure d'ouvrir Scala / projets SBT sans problèmes.

plug-in Scala Plugins dans les Préférences

Avec le plug-in, point situé juste à un projet de SBT et IDEA va vous offrir un assistant pour ouvrir ce genre de projet.

projet d'importation

IntelliJ Scala Plugin

plug-in IntelliJ se trouve ici http://confluence.jetbrains.com/display/SCA/Scala + Plugin + pour + IntelliJ IDEA + ou peut être installé directoly à partir de l'IDE en utilisant Paramètres -> Plugins dialogue. Ensuite on peut juste faire Fichier -> Nouveau projet -> Scala -> SBT base. IntelliJ générera build.sbt de base, télécharger les dépendances nécessaires et projet ouvert.

SBT Plugin

Sbt plug-in qui génèrent un projet d'idée sur la base des fichiers SBT se trouve ici: https: // github .com / mpeltonen / SBT-idée

SBT et 13.0 + 12.0 ou version ultérieure

Ajoutez simplement addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2") à votre build.sbt; pas résolveurs supplémentaires sont nécessaires.

Versions antérieures:

SBT 0,11 +

Créer et ajouter les lignes suivantes à ~/.sbt/plugins/build.sbt OU PROJECT_DIR/project/plugins.sbt

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")

Utilisez gen-idea dans SBT pour créer des fichiers de projet IDEA.

Par défaut, les classificateurs (à savoir les sources et javadocs) de SBT et dépendances bibliothèque sont chargées si trouvées et références ajoutées aux fichiers de projet IDEA. Si vous ne souhaitez pas télécharger / référence leur commande use gen-idea no-classifiers no-sbt-classifiers.


SBT 0.10.1 (Selon l'auteur du plugin, 0.10.0 pas travail!)

Créer et ajouter les lignes suivantes à ~ / .sbt / plugins / build.sbt:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

libraryDependencies += "com.github.mpeltonen" %% "sbt-idea" % "0.10.0"

Utilisez la tâche gen-idea de SBT pour créer des fichiers de projet IDEA.

Par défaut, les classificateurs (à savoir les sources et javadocs) de SBT et dépendances bibliothèque sont chargées si trouvées et références ajoutées aux fichiers de projet IDEA. Si vous ne souhaitez pas télécharger / référence leur commande use gen-idea no-classifiers no-sbt-classifiers.


SBT 0,7

Pour l'utiliser, il suffit de lancer ce à partir de votre shell SBT, il utilisera le plug-in comme un programme externe:

 > *sbtIdeaRepo at http://mpeltonen.github.com/maven/
 > *idea is com.github.mpeltonen sbt-idea-processor 0.4.0
 ...
 > update
 ...
 > idea
 ...

Vous pouvez également ajouter trait dans votre définition de projet, comme vous voulez:

import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaProject {
  lazy val mySubProject = project("my-subproject", "my-subproject", new DefaultProject(_) with IdeaProject)
   // ...
}

Autres conseils

Pour l'instant, je le fais à la main. Il est tout à fait simple.

  1. Créer le projet avec SBT
  2. Créer une nouvelle idée de projet avec le même chemin racine
  3. Créer un module avec le même chemin racine
  4. Set src / main / scala comme un chemin src sur le module
  5. Set src / test / scala comme un chemin de test sur le module
  6. Ajouter scala-library.jar comme une bibliothèque
  7. Ajouter lib (si elle est présente) comme un répertoire pot dans une bibliothèque de modules
  8. Ajouter lib_managed / compilation (si elle est présente) comme un répertoire pot dans une bibliothèque de modules
  9. Ajouter lib_managed / test (si elle est présente) comme un répertoire pot dans une bibliothèque de modules

Qu'il est de la mémoire. Il serait mieux si elle était automatisé, mais il est pas une grosse affaire comme il est maintenant.

Une note de prudence: L'approche ci-dessus ne fonctionne pas bien avec SBT nouvelle école, à savoir les versions 0.10 et plus récentes, car il ne copie pas les dépendances dans lib_managed par défaut. Vous pouvez ajouter

retrieveManaged := true

à votre build.sbt pour en faire copier les dépendances dans lib_managed.

Tempus fugit et IntelliJ IDEA est devenu tellement mieux ces jours-ci. Il est 2015 après tout, non?

Cela dit, la dernière version de IntelliJ IDEA 14.0.2 projets SBT supports hors de la boîte avec le plugin Scala . Il suffit d'installer le plug-in et vous devriez être en mesure d'ouvrir Scala / TNB sans projets ennuis beaucoup.

plug-in Scala Plugins dans les Préférences

J'utilise la version Early Access du plug-in qui est 1.2.67.6.EAP au moment de l'écriture.

avec le plugin point situé juste à un projet de SBT et IDEA va vous offrir un assistant pour ouvrir ce genre de projet.

projet d'importation

A propos SBT-idée SBT 0.12.4

Pour SBT 0.12.4 le fichier de configuration du plugin système à l'échelle - ~/.sbt/plugins/build.sbt ou PROJECT_DIR/project/plugins.sbt - devrait avoir les lignes suivantes:

resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

addSbtPlugin(dependency="com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")

Exécuter sbt gen-idea pour générer des fichiers de projet IDEA.

le site du plugin SBT-idée pour plus d'informations à jour. Vous pouvez également trouver mon entrée de blog Importation projet basé SBT à IntelliJ IDEA 13 (avec SBT-idée, Scala 2,11 et 0,12 SBT) utile.

Pour SBT 0,7

Voir la réponse ailleurs sur cette page .

Pour SBT 0,10

Clone et construire SBT-idée de Ismael:

git clone https://github.com/ijuma/sbt-idea.git
cd sbt-idea
git checkout sbt-0.10
./sbt package

Créer un répertoire plug-in SBT lib si vous ne l'avez pas déjà

mkdir -p  ~/.sbt/plugins/lib

Copiez le pot construit dans la première étape dans ici

cp sbt-idea/target/scala-2.8.1.final/*.jar ~/.sbt/plugins/lib

Redémarrer ou reload SBT, alors vous pouvez exécuter gen-idea (ou gen-idea with-classifiers si vous voulez sources et javadoc dans IntelliJ aussi)

Source: agrafeuses sur le groupe de message .

Dans IntelliJ IDEA 13.x lui-même

Vous pouvez ouvrir un projet basé SBT IDEA de nos jours. Il va créer le projet nécessaire et des modules, et de garder vos dépendances mises à jour chaque fois que vous modifiez les scripts de compilation.

Je suis juste allé à travers toute cette douleur. Je passe des jours à essayer d'obtenir un environnement acceptable et sont arrivés à la conclusion que ENSIME, SBT et JRebel vont être mon environnement de développement depuis un certain temps. Oui, il va revenir à Emacs, mais ENSIME transforme en un peu ou une idée avec refactoring, support du débogage, la navigation, etc. Ce n'est pas loin d'être aussi bon que Eclipse (Java), mais à moins que les plug-ins de scala fonctionnent mieux c'est la mieux que nous avons.

Tant que les environnements de développement Scala se fait à la hauteur (Eclipse ou IntelliJ) Je ne vais pas déranger. Ils sont juste trop buggy.

Voir la discussion sur le site de l'ascenseur.

http://groups.google.com/group/liftweb/browse_thread / fil / 6e38ae7396575052 #

Dans ce fil, il y a un lien vers un mini-guide pour IntelliJ, mais bien qu'il fonctionne un peu, il y a beaucoup de problèmes qui la rendent un peu moins que utile.

http://blog.morroni.com/2010/07/14/setup-intellij-9-for-lift-framework-development/comment-page-1/

Les réponses sont vieux pour 2014. IntelliJ 13.x , le plug-in Scala est ver 0.41.2 (SBT est inclus).

Mon Version SBT est 0.13.5 (borne: sbt sbtVersion)

Aller au dossier racine du projet et entrez dans le terminal

sbt idea

Vous verrez deux nouveaux dossiers cachés .idea et .idea_modules .

Ensuite, dans IntelliJ, Fichier> Ouvrir> sélectionnez le projet. Il devrait ouvrir le projet sans aucun problème.

Avant de commencer à créer votre projet de SBT, assurez-vous que le plug-in Scala est téléchargé et activé dans IntelliJ IDEA.

lien ci-dessous explique tout ce que vous devez savoir.

https://www.jetbrains.com/ Aide / idée / 2016,1 / getting-started-avec-sbt.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top