Como compartilho as configurações de Execução / Depuração do IntelliJ entre projetos?

142

Eu tenho muitas versões diferentes do meu aplicativo. Cada um é um projeto intellij separado. Sempre que abro um novo, a lista de configurações começa em branco:

insira a descrição da imagem aqui

A coisa chata sobre isso é que eu implanto na 1 vm e preciso copiar e colar as configurações de depuração cada vez que quiser testar uma versão diferente. O Intellij torna esse diálogo modal por Instância Intellij, portanto, não posso copiar e colar os campos entre as Instâncias do projeto.

Acabo tirando uma captura de tela de uma configuração e copiando os campos manualmente para o outro projeto. É uma solução bastante primitiva. Existe uma maneira mais conveniente de obter uma configuração de execução de um projeto para outro?

Estou usando o Intellij 13 no Windows 7.


Posso compartilhar configurações do IntelliJ Idea em diferentes projetos? pode ter a resposta para isso, mas a pergunta é diferente. É sobre o layout da janela. Portanto, não considero uma duplicata.

Daniel Kaplan
fonte
Criou um ticket para isso. Vá votar!
Eyal Roth

Respostas:

185

A melhor maneira de fazer isso é clicar na marca de seleção "compartilhar" ao lado do campo Nome ao editar / criar a configuração. Você pode acessar este diálogo em Executar> Editar configurações.

insira a descrição da imagem aqui

A marca de seleção de compartilhamento retira a configuração da sua workspace.xmle a coloca no diretório .idea\runConfigurations. Isso foi projetado para que você possa compartilhar a configuração com outras pessoas. Você pode copiar esse arquivo e colocá-lo no mesmo local em todos os seus projetos de ideias.

No entanto, no futuro, considere o uso de ramificações de controle de origem para versões de aplicativos em vez de projetos separados. O IntelliJ lida com isso muito bem.

Nick Humrich
fonte
1
"você pode considerar o uso de ramificações de controle de origem para versões de aplicativos em vez de projetos separados" Como isso funciona? Estou preocupado que os arquivos de origem 20x tornem o Intellij mais lento. Considera apenas um de cada vez?
Daniel Kaplan
2
@tieTYT Sim. O funcionamento de uma ramificação de controle de origem é que ela edita todos os arquivos locais para corresponder à ramificação. Então você muda de ramificação, faz isso de novo. Você acaba tendo menos espaço usado no seu sistema de arquivos local. Heres um bom ler para você: git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
Nick Humrich
2
@tieTYT Basicamente, você só tem uma filial em sua máquina local por vez. Quando você deseja trabalhar em outra versão, o controle de origem a altera para essa versão para você. Você não terá "20x arquivos de origem" porque você só tem 1x por vez.
21714 Nick Humrich
Ah, bem, no trabalho, usamos SVN. Dito isto, estou usando a ponte Git-SVN localmente. Eu nunca mudei para um ramo SVN diferente dele. Acho que vou tentar.
Daniel Kaplan
2
@ jay, você sempre pode adicionar o arquivo para não ser excluído no seu .gitignore. !.idea/runConfidurations/name
Nick Humrich
42

As configurações de execução são armazenadas em .idea / workspace.xml por padrão. A primeira alternativa é compartilhar esse arquivo, mas não é viável, pois você também compartilha muitas configurações desnecessárias. Como já foi dito, o primeiro passo é marcar a opção "compartilhar" para separar as configurações de execução do workspace.xml.

despachando configurações de execução do workspace.xml

Depois disso, recomendo adicionar runConfigurations ao controle de origem. Mas o principal problema é que provavelmente você já marcou a pasta .idea como ignorada. Você pode cancelar o registro da pasta configurando seu sistema de controle de origem. Por exemplo, se você estiver usando git, poderá alterar o arquivo .gitignore da seguinte maneira:

.idea/*
!/.idea/runConfigurations

não esqueça de adicionar * após .idea /

Como o último passo, adicione suas configurações de execução ao controle de origem e aproveite suas configurações compartilhadas!

Turgay Celik
fonte
Isso é exatamente o que eu queria saber, porque na verdade estávamos ignorando a idéia e não havia como ignorá-la sem grandes dores de cabeça.
David Mann
Impressionante! Era isso que eu procurava há muito tempo.
Jonas Gröger
1
Para minha equipe, colocar as configurações de execução no VCS não é uma opção. As configurações de execução contêm valores - como caminhos - que diferem entre os usuários. O que eu preciso é compartilhar as configurações de Execução entre meus próprios projetos, não entre os membros da equipe.
Ivan dal Bosco
17

vamos para

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

agora copie este arquivo de

 PROJECT_ROOT_DIRECTORY/.idea/runConfigurations/ConfigurationName.xml

para o seu NEW_PROJECT_ROOT_DIRECTORY/.idea/runConfigurationsno mesmo local e está disponível agora para a sua configuração de execução

Jigar Joshi
fonte
Eu acho que você tem que verificar Compartilhar primeira como Humdinger disse
Daniel Kaplan
14

Você deve copiar a pasta

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

para

~/your-new-project/.idea/

Essa é a pasta que contém as configurações de execução.

de.la.ru
fonte
5
Eu acredito que você precisa configurá-los para "compartilhar" primeiro, conforme elaborado na resposta aceita.
Muhd 23/05
0

Esta não é exatamente uma resposta à sua pergunta, mas responde a uma pergunta semelhante à sua e à que eu tinha, e suponho que outras pessoas também possam.

Ou seja, como salvar as configurações de unidade e teste de instrumentação? Normalmente, clico com o botão direito do mouse no diretório de teste, que abre um menu com a opção Executar o que estiver nesse diretório. O AndroidStudio cria uma configuração de execução em tempo real e, no menu suspenso Configuração de execução, uma nova opção aparecerá: "Salvar nova configuração?" ou algo semelhante.

Clicar nessa opção exibe o menu Configuração de Execução e, nesse ponto, marquei a caixa Compartilhar, como muitas outras já mencionadas. Isso solicitará que o sistema de controle de versão me pergunte se eu quero adicionar esse novo arquivo de configuração de execução. Se você não registrou seu sistema de controle de versão, poderá encontrar os novos arquivos em .idea / runConfigurations.

jwehrle
fonte