¿Cómo comparto configuraciones de IntelliJ Run / Debug entre proyectos?

142

Tengo muchas versiones diferentes de mi aplicación. Cada uno es un proyecto intellij separado. Cada vez que abro una nueva, la lista de configuraciones comienza en blanco:

ingrese la descripción de la imagen aquí

Lo molesto de esto es que lo implemento a 1 vm y tengo que copiar y pegar las configuraciones de depuración cada vez que quiero probar una versión diferente. Intellij hace que este cuadro de diálogo sea modal por instancia de Intellij, por lo que no puedo copiar y pegar los campos entre instancias de proyecto.

Termino tomando una captura de pantalla de una configuración y copiando los campos a mano en el otro proyecto. Es una solución bastante primitiva. ¿Hay alguna forma más conveniente de obtener una configuración de ejecución de un proyecto a otro?

Estoy usando Intellij 13 en Windows 7.


¿Puedo compartir configuraciones para IntelliJ Idea en diferentes proyectos? puede tener la respuesta a esto, pero la pregunta es diferente. Se trata del diseño de la ventana. Por lo tanto, no lo considero un duplicado.

Daniel Kaplan
fuente
Creó un boleto para esto. Ve a votar!
Eyal Roth

Respuestas:

185

La mejor manera de hacer esto es hacer clic en la marca de verificación "compartir" junto al campo Nombre cuando edite / cree la configuración. Puede acceder a este cuadro de diálogo con Ejecutar> Editar configuraciones.

ingrese la descripción de la imagen aquí

La marca de verificación de compartir extrae la configuración de su workspace.xmly, en su lugar, la coloca en el directorio .idea\runConfigurations. Está diseñado para que pueda compartir la configuración con otros. Puede copiar este archivo y colocarlo en la misma ubicación en todos sus proyectos de ideas.

Sin embargo, en el futuro, es posible que desee considerar el uso de ramas de control de origen para versiones de aplicaciones en lugar de proyectos separados. IntelliJ los maneja muy bien.

Nick Humrich
fuente
1
"es posible que desee considerar el uso de ramas de control de código fuente para versiones de aplicaciones en lugar de proyectos separados" ¿Cómo funciona eso? Me preocupa que los archivos fuente 20x harán que Intellij funcione más lentamente. ¿Solo se considera uno a la vez?
Daniel Kaplan
2
@tieTYT Sí. El funcionamiento de una rama de control de código fuente es que edita todos sus archivos locales para que coincidan con la rama. Luego cambias de rama, lo vuelve a hacer. Termina teniendo menos espacio utilizado en su sistema de archivos local. Aquí hay una buena lectura para usted: git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
Nick Humrich
2
@tieTYT Básicamente, solo tiene una rama existente en su máquina local a la vez. Cuando desee trabajar en otra versión, el control de origen lo cambia a esa versión por usted. No tendrá "20x archivos fuente" porque solo tiene 1x a la vez.
Nick Humrich
Ah, bien en el trabajo usamos SVN. Dicho esto, estoy usando el puente Git-SVN localmente. Sin embargo, nunca me he cambiado a una rama SVN diferente. Supongo que lo intentaré.
Daniel Kaplan
2
@jay siempre puedes agregar el archivo para que no se excluya en tu .gitignore. !.idea/runConfidurations/name
Nick Humrich
42

Las configuraciones de ejecución se almacenan en .idea / workspace.xml de forma predeterminada. La primera alternativa es compartir este archivo, pero no es factible porque también comparte muchas configuraciones innecesarias. Como ya se dijo, el primer paso es marcar la opción "compartir" para separar las configuraciones de ejecución de workspace.xml.

despachar configuraciones de ejecución desde workspace.xml

Después de eso, recomiendo agregar runConfigurations al control de origen. Pero el problema principal es que probablemente ya haya marcado la carpeta .idea como ignorada. Puede ignorar la carpeta configurando su sistema de control de fuente. Por ejemplo, si está utilizando git, puede cambiar el archivo .gitignore de la siguiente manera:

.idea/*
!/.idea/runConfigurations

no olvides agregar * después de .idea /

Como último paso, agregue sus configuraciones de ejecución al control de fuente y disfrute de sus configuraciones compartidas.

Turgay Celik
fuente
Esta regla, es exactamente lo que quería saber, porque de hecho estábamos ignorando .idea y no había forma de ignorarlo sin grandes dolores de cabeza.
David Mann el
¡Increíble! Esto es lo que estaba buscando durante mucho tiempo.
Jonas Gröger
1
Para mi equipo, poner las configuraciones de Ejecutar en el VCS no es una opción. Las configuraciones de ejecución contienen valores, como rutas, que difieren entre los usuarios. Lo que necesito es compartir las configuraciones de ejecución entre mis propios proyectos, no entre los miembros del equipo.
Ivan dal Bosco
17

ir

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

ahora copie este archivo de

 PROJECT_ROOT_DIRECTORY/.idea/runConfigurations/ConfigurationName.xml

a su NEW_PROJECT_ROOT_DIRECTORY/.idea/runConfigurationsen el mismo lugar y ahora está disponible para su configuración de ejecución

Jigar Joshi
fuente
Creo que debe verificar Compartir primero como dijo Humdinger
Daniel Kaplan
14

Debes copiar la carpeta

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

a

~/your-new-project/.idea/

Esa es la carpeta que contiene las configuraciones de ejecución.

de.la.ru
fuente
55
Creo que primero debe configurarlos para que "compartan" tal como se detalla en la respuesta aceptada.
Muhd
0

Esta no es exactamente una respuesta a su pregunta, pero responde una pregunta similar a su pregunta y una que yo tenía, y supongo que otros también podrían hacerlo.

Es decir, ¿Cómo guardar configuraciones de ejecución de prueba de unidad e instrumentación? Por lo general, hago clic derecho en el directorio de prueba que muestra un menú con la opción de Ejecutar lo que esté en ese directorio. AndroidStudio crea una configuración de ejecución sobre la marcha y en el menú desplegable Configuración de ejecución aparecerá una nueva opción, "¿Guardar nueva configuración?" o algo similar.

Al hacer clic en esa opción, aparece el menú Ejecutar configuración y, en ese momento, marco la casilla Compartir como ya han mencionado muchos otros. Esto hará que el sistema de control de versiones me pregunte si deseo agregar este nuevo archivo de configuración de ejecución. Si no ha registrado su sistema de control de versiones, puede encontrar los nuevos archivos en .idea / runConfigurations.

jwehrle
fuente