Como compartilhar a configuração do Eclipse em diferentes áreas de trabalho

130

Estou usando o Eclipse (PDT) como IDE principal em máquinas diferentes. (como em casa, laptop, escritório, etc.). Como eu poderia compartilhar o Eclipse e a configuração do projeto de forma pragmática entre vários computadores? Devo controlá-los, ou existe alguma maneira mais fácil de fazer isso?

Como você garante o uso da mesma configuração boa e antiga, mesmo assim, atualizada em todos os seus computadores?

erenon
fonte
Eu tive todos os tipos de problemas ao compartilhar código em um único espaço de trabalho usando o Dropbox. Gostaria de ter vários espaços de trabalho, um para cada máquina, e sincronizar o grupo de espaços de trabalho usando o Dropbox.
djangofan
3
Velha pergunta eu sei, mas para a posteridade, eu encontrei este post muito útil: mcuoneclipse.wordpress.com/2012/04/04/... (Não é o meu post :-)
Stewart
Sempre há complicações nos envs do Windows. Verificar as configurações da área de trabalho no controle de origem não é uma resposta. As configurações de controle de origem fazem parte das configurações da área de trabalho.
chris Topinka

Respostas:

4

Você pode realmente definir muitas configurações específicas do projeto que podem ser verificadas no controle de origem. Para pequenos projetos, isso funciona muito bem. Para projetos maiores, decidimos ter um único arquivo que usamos para todos os nossos projetos e verificamos um projeto de "ativos" separado que mantinha as coisas que os desenvolvedores precisavam para começar a trabalhar em nosso projeto. Isso também incluía itens como licenças e outros arquivos necessários.

Topher Fangio
fonte
45
Embora essa seja a resposta aceita, você definitivamente deve rolar para baixo e ver as outras respostas, pois elas têm informações adicionais.
Topher Fangio
1
@erenon - Você pode desmarcar isso como resposta aceita e escolher uma resposta diferente e mais relevante? Os outros incluem muito mais informações, mas não posso excluir esta resposta se ela for aceita.
Topher Fangio
176

Compartilhando configurações específicas do eclipse entre áreas de trabalho :

  1. Vamos para ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings
  2. Copie tudo no diretório acima para ${new_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings

Isso garantirá que ${new_workspace}o mesmo tenha a mesma configuração que o${old_workspace}

Espero que isto ajude. Atualização em caso de problemas.

pico
fonte
8
Pessoalmente, tenho essas pastas vinculadas ao dropbox e também os perfis RSE. A configuração geral das configurações do eclipse também pode ser exportada de ide
Anton S
5
Vou começar com isso, mas, infelizmente, há muitas outras configurações fora deste diretório que eu gostaria de sincronizar.
David Harkness
@ DavidHarkness: por favor, elabore - quais configurações - onde? Você pode postar uma resposta aqui - eu estou perguntando entre outros: "seria seguro e suficiente conectar o \.metadata\.plugins\org.eclipse.core.runtime\.settings directory?" - a peakit: não é tão simples como isso - o ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settingstambém contém as configurações do espaço de trabalho e tem outras peculiaridades - ver a minha análise aqui
Mr_and_Mrs_D
Para copiar o uso pasta Robocopy: stackoverflow.com/questions/472692/...
weberjn
1
Para mantê-los em sincronia, considere Unison: cis.upenn.edu/~bcpierce/unison
Alice Purcell
114

Outra opção é exportar / importar:

  1. Na área de trabalho existente File->Export...->General->Preferences, marque Exportar tudo e escolha o arquivo para salvá-lo (prefs.epf por exemplo)
  2. Inicialize o Eclipse em um novo espaço de trabalho, File->Import...->General->Preferencesescolha seu arquivo (prefs.epf), marque importar todos

Isso funcionou muito bem para o autor original dessa dica: ele tinha sua formatação de código, estilo de código, svn repos, preferências jres importadas.

Edit: No Eclipse Juno isso funciona mal. Algumas preferências silenciosamente não são transferidas, como salvar ações.

Anthony Dahanne
fonte
2
Funciona tão bem com o Eclipse STS (spring Tool Suite) 3.4
#
Trabalhou em Eclipse Luna
GP cyborg
1
Pode-se fazer isso e o que o pico disse em sua resposta. Espero que essa combinação de ações seja suficiente para realmente exportar tudo .
Nikos
8

É um projeto relativamente novo, mas parece que o Eclipse Oomph foi criado exatamente por esse motivo. Através desta ferramenta, você pode criar uma configuração exclusiva que pode ser compartilhada com outras pessoas. Ainda não o usei, mas estou planejando:

https://projects.eclipse.org/projects/tools.oomph

HDave
fonte
O Yatta Profiles baseia-se no Oomph / Eclipse Installer e facilita um pouco o compartilhamento.
Bernhard Stadler
1
@BernhardStadler Yatta não transfere preferências.
ThomasMcLeod
O Yatta pode se lembrar dos valores de preferência padrão - as preferências da área de trabalho podem ser gravadas com o Preference Recorder e, para as preferências do projeto, você não precisa de ferramentas adicionais, pois pode adicioná-las ao seu SCM. A principal configuração pretendida da área de trabalho de desenvolvimento com um clique para casos de uso para equipes com o objetivo de minimizar os tempos de instalação, mas também é possível sincronizar perfis privados entre computadores diferentes. Eu nunca tentei isso sozinho, mas de acordo com a página da Web deles, é possível aplicar atualizações de perfis online, portanto, deve ser possível usar perfis online privados como um mecanismo de sincronização.
Bernhard Stadler
7

Eu tive que trabalhar em vários espaços de trabalho simultaneamente e havia muitas preferências a serem definidas cada vez que eu criava um novo espaço de trabalho. Criei um espaço de trabalho de modelo e criei todas as configurações necessárias nesse espaço de trabalho de modelo. Sempre que crio um novo espaço de trabalho, crio um simlink do {new_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settingspara o qual apontar {template_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings. Portanto, quando você editar qualquer preferência em qualquer um dos espaços de trabalho, ele será replicado em todos os outros espaços de trabalho.

Criei esse alias de função no meu .profile para que, depois de criar um novo espaço de trabalho, execute essa função no prompt de comando com o novo nome do espaço de trabalho como argumento, para que o link seja criado.

function eclset(){
    present_dir=`pwd`;
    cd  {parent_to_workspace}/$1/.metadata/.plugins/org.eclipse.core.runtime ; 
    rm -rf .settings ; 
    ln -s {parent_to_workspace}/template/.metadata/.plugins/org.eclipse.core.runtime/.settings .settings;
    cd $present_dir;
}
Mowgli
fonte
Na verdade isso é o que eu queria fazer também (no Windows) - mas há complicações: ver a minha resposta aqui
Mr_and_Mrs_D
3

No Eclipse Neon (e possivelmente também em Marte), você pode copiar os dois diretórios a seguir, para compartilhar seu ambiente de trabalho e configurações / preferências entre seus diferentes espaços de trabalho:

    [workspace]/.metadata/.plugins/org.eclipse.core.runtime/.settings
    [workspace]/.metadata/.plugins/org.eclipse.e4.workbench
Antonio Malcolm
fonte
É realmente introduzido no Neon? Existe um changelog / readme ou alguma outra informação que confirme isso?
Danijel
Normalmente, os desenvolvedores têm seu próprio repositório GIT e não são compartilhados; portanto, a lista é: 1. [espaço de trabalho] /. Metadados / .plugins / org.eclipse.core.runtime / .settings - Exceto [espaço de trabalho] /. Metadados / .plugins /org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs 2. [espaço de trabalho] /. metadata / .plugins / org.eclipse.e4.workbench
Timo Riikonen
2

Há duas perguntas aqui. Primeiro, existem definições de projeto, arquivos .project e configurações específicas do projeto. Pessoalmente, gosto dos que estão no meu controle de origem, pois facilita o check-out de um projeto e a configuração de um IDE.

Segundo, você tem as configurações da área de trabalho. Você verá muitas perguntas nesta área. Sugiro dar uma olhada no Pulse : é uma distribuição aprimorada do Eclipse que pode, entre outras coisas, salvar as configurações da área de trabalho e sincronizá-las com várias máquinas ou membros da equipe.

zvikico
fonte
1

Você também pode copiar os arquivos .prefs ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settingspara uma pasta chamada .settings na pasta raiz do seu projeto e adicioná-lo ao SVN (ou CVS ou ...)

Dessa forma, as configurações serão distribuídas a todos os desenvolvedores, juntamente com o código-fonte durante uma atualização.

Evvo
fonte
0

Eu tive o mesmo problema.

minha abordagem: armazenando dados do projeto em um diretório gerenciado pelo owncloud

O Projeto X é criado na estação de trabalho A, com um caminho personalizado apontando para um novo subdiretório da minha hierarquia ownCloud. O espaço de trabalho padrão ainda está residindo no sistema de arquivos de A.

Quando estou sentado na estação de trabalho BI, abra o espaço de trabalho local padrão (local em B) e crie um novo projeto usando as fontes existentes no diretório ownCloud "sincronizado".

Basta clicar em atualizar sempre que você iniciar o eclipse e tiver os dados atuais do projeto. A sincronização é executada automaticamente em segundo plano, portanto, tenha cuidado ao terminar de fechar o eclipse e dar à ownCloud a chance de fazer upload dos novos arquivos no servidor ownCloud.

Tomcat ou outros servidores estão rodando localmente, a configuração é copiada manualmente entre as máquinas via scp. Isso acontece apenas se houver alterações na configuração do servidor, o que não é muito frequente.

Eu não tive problemas de compatibilidade usando o NEON 2 (arch linux) e o NEON 3 (baixe uma execução no debian stretch) com JDKs diferentes ainda.

Atenciosamente Armin

armin
fonte
0

Simplesmente copie os diretórios

${old_workspace}/.metadata/.plugins

de um projeto existente para o novo.

Isso funcionou bem em projetos PHP (bastante simples).

schogol
fonte
0

Você pode usar o Eclipstyle para clonar preferências de uma área de trabalho em outras áreas de trabalho. Você também pode exportar suas preferências e cloná-las mais tarde.

Utku Ufuk
fonte