Comment partager les configurations IntelliJ Run / Debug entre les projets?

144

J'ai de nombreuses versions différentes de mon application. Chacun est un projet intellij distinct. Chaque fois que j'en ouvre une nouvelle, la liste des configurations commence vide:

entrez la description de l'image ici

Ce qui est ennuyeux à ce sujet, c'est que je déploie sur 1 vm et que je dois copier et coller les configurations de débogage chaque fois que je veux tester une version différente. Intellij rend cette boîte de dialogue modale par instance Intellij, je ne peux donc pas copier et coller les champs entre les instances de projet.

Je finis par prendre une capture d'écran d'une configuration et copier les champs à la main dans l'autre projet. C'est une solution assez primitive. Existe-t-il un moyen plus pratique d'obtenir une configuration d'exécution d'un projet à un autre?

J'utilise Intellij 13 sur Windows 7.


Puis-je partager les paramètres d'IntelliJ Idea dans différents projets? peut avoir la réponse à cela, mais la question est différente. Il s'agit de la disposition des fenêtres. Par conséquent, je ne considère pas cela comme un double.

Daniel Kaplan
la source
Créé un ticket pour cela. Allez voter!
Eyal Roth

Réponses:

186

La meilleure façon de procéder est de cliquer sur la coche «partager» à côté du champ Nom lorsque vous modifiez / créez la configuration. Vous pouvez accéder à cette boîte de dialogue avec Exécuter> Modifier les configurations.

entrez la description de l'image ici

La coche de partage extrait le paramètre de votre workspace.xmlet le place à la place dans le répertoire .idea\runConfigurations. Ceci est conçu pour que vous puissiez partager le paramètre avec d'autres. Vous pouvez copier ce fichier et le placer au même emplacement dans tous vos projets d'idées.

Cependant, à l'avenir, vous souhaiterez peut-être envisager d'utiliser des branches de contrôle de code source pour les versions d'application plutôt que des projets séparés. IntelliJ les gère très bien.

Nick Humrich
la source
1
"vous voudrez peut-être envisager d'utiliser des branches de contrôle de code source pour des versions d'applications plutôt que des projets séparés" Je crains que les fichiers source 20x ralentissent Intellij. En considère-t-il seulement un à la fois?
Daniel Kaplan
2
@tieTYT Oui. Le fonctionnement d'une branche de contrôle de source est qu'elle modifie tous vos fichiers locaux pour qu'ils correspondent à la branche. Ensuite, vous changez de branche, ça recommence. Vous finissez par avoir moins d'espace utilisé dans votre système de fichiers local. Voici une bonne lecture pour vous: git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
Nick Humrich
2
@tieTYT En gros, vous n'avez qu'une seule branche à la fois sur votre machine locale. Lorsque vous souhaitez travailler sur une autre version, le contrôle de code source la remplace pour vous. Vous n'aurez pas de "fichiers source 20x" car vous n'en avez que 1x à la fois.
Nick Humrich
Ah, au travail, nous utilisons SVN. Cela étant dit, j'utilise le pont Git-SVN localement. Cependant, je n'ai jamais changé de branche SVN. Je suppose que je vais essayer.
Daniel Kaplan
2
@jay vous pouvez toujours ajouter le fichier pour ne pas être exclu dans votre .gitignore. !.idea/runConfidurations/name
Nick Humrich
42

Les configurations d'exécution sont stockées dans .idea / workspace.xml par défaut. La première alternative est de partager ce fichier mais ce n'est pas faisable car vous partagez également beaucoup de configurations inutiles. Comme déjà dit, la première étape consiste à cocher l'option "partager" pour séparer les configurations d'exécution de workspace.xml.

répartition des configurations d'exécution à partir de workspace.xml

Après cela, je recommande d'ajouter runConfigurations au contrôle de code source. Mais le problème principal est que vous avez probablement déjà marqué le dossier .idea comme ignoré. Vous pouvez annuler l'ignorance du dossier en configurant votre système de contrôle de source. Par exemple, si vous utilisez git, vous pouvez modifier le fichier .gitignore comme suit:

.idea/*
!/.idea/runConfigurations

n'oubliez pas d'ajouter * après .idea /

Comme dernière étape, ajoutez vos configurations d'exécution au contrôle de code source et profitez de vos configurations partagées!

Turgay Celik
la source
Cette règle, c'est exactement ce que je voulais savoir, car en effet nous ignorions .idea et il n'y avait aucun moyen de l'ignorer sans gros maux de tête.
David Mann
Impressionnant! C'est ce que je cherchais depuis longtemps.
Jonas Gröger
1
Pour mon équipe, mettre les configurations Run dans le VCS n'est pas une option. Les configurations d'exécution contiennent des valeurs, telles que des chemins, qui diffèrent entre les utilisateurs. Ce dont j'ai besoin, c'est de partager les configurations Run entre mes propres projets, pas entre les membres de l'équipe.
Ivan dal Bosco
18

aller à

Run > Edit Configuration > create or select existing configuration you want to use > click save and persist it on file system > click on share check mark

maintenant copiez ce fichier depuis

 PROJECT_ROOT_DIRECTORY/.idea/runConfigurations/ConfigurationName.xml

à votre NEW_PROJECT_ROOT_DIRECTORY/.idea/runConfigurationsau même endroit et il est maintenant disponible pour votre configuration d'exécution

Jigar Joshi
la source
Je pense que vous devez d'abord vérifier Partager comme Humdinger l'a dit
Daniel Kaplan
14

Vous devez copier le dossier

~/your-old-project/.idea/runConfigurations 

à

~/your-new-project/.idea/

C'est le dossier qui contient les configurations d'exécution.

de.la.ru
la source
5
Je crois que vous devez les configurer pour "partager" d'abord comme expliqué dans la réponse acceptée.
Muhd
0

Ce n'est pas exactement une réponse à votre question, mais cela répond à une question similaire à votre question et à celle que j'avais posée, et je suppose que d'autres pourraient l'être aussi.

Autrement dit, comment enregistrer les configurations de test d'unité et d'instrumentation? Je fais généralement un clic droit sur le répertoire de test, ce qui ouvre un menu avec l'option Exécuter tout ce qui se trouve dans ce répertoire. AndroidStudio crée ensuite une configuration d'exécution à la volée et dans le menu déroulant Configuration d'exécution, une nouvelle option apparaîtra, "Enregistrer la nouvelle configuration?" ou quelque chose de similaire.

Cliquez sur cette option pour afficher le menu Exécuter la configuration et à ce stade, je coche la case Partager, comme beaucoup d'autres l'ont déjà mentionné. Cela invitera alors le système de contrôle de version à me demander si je veux ajouter ce nouveau fichier de configuration d'exécution. Si vous n'avez pas enregistré votre système de contrôle de version, vous pouvez trouver les nouveaux fichiers sous .idea / runConfigurations.

jwehrle
la source