Comment partager la configuration Eclipse sur différents espaces de travail

130

J'utilise Eclipse (PDT) comme IDE principal sur différentes machines. (comme à la maison, ordinateur portable, au bureau, etc.). Comment puis-je partager la configuration d'Eclipse et du projet de manière pragmatique entre plusieurs ordinateurs? Dois-je les contrôler en version ou y a-t-il un moyen plus simple de le faire?

Comment vous assurez-vous d'utiliser le même bon et le même vieux même si à jour config tous vos ordinateurs?

Erenon
la source
J'ai eu toutes sortes de problèmes pour partager du code dans un seul espace de travail en utilisant Dropbox. J'aurais tendance à avoir plusieurs espaces de travail, un pour chaque machine, et à synchroniser le groupe d'espaces de travail à l'aide de Dropbox.
djangofan
3
Ancienne question que je connais, mais pour la postérité, j'ai trouvé ce billet de blog très utile: mcuoneclipse.wordpress.com/2012/04/04/… (Ce n'est pas mon message :-)
Stewart
Il y a toujours des complications sur les environnements Windows. La vérification des paramètres de l'espace de travail dans le contrôle de code source n'est pas une solution. Les paramètres de contrôle de la source font partie des paramètres de l'espace de travail.
chris topinka

Réponses:

4

Vous pouvez en fait définir de nombreux paramètres spécifiques au projet qui peuvent être intégrés dans le contrôle de code source. Pour les petits projets, cela fonctionne très bien. Pour les projets plus importants, nous avons décidé d'avoir un seul fichier que nous avons utilisé pour tous nos projets et archivé dans un projet «actifs» distinct qui maintenait les éléments dont les développeurs avaient besoin pour commencer à travailler sur notre projet. Cela comprenait également des éléments tels que les licences et d'autres fichiers requis.

Topher Fangio
la source
45
Bien que ce soit la réponse acceptée, vous devez absolument faire défiler vers le bas et regarder les autres réponses car elles contiennent des informations supplémentaires.
Topher Fangio
1
@erenon - Pouvez-vous décocher cette réponse comme réponse acceptée et en choisir une autre, plus pertinente? Les autres contiennent beaucoup plus d'informations, mais je ne peux pas supprimer cette réponse si elle est acceptée.
Topher Fangio
176

Partage des paramètres spécifiques à l'éclipse entre les espaces de travail :

  1. Aller à ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings
  2. Copiez tout sous le répertoire ci-dessus dans ${new_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings

Cela garantira que le a ${new_workspace}la même configuration que le${old_workspace}

J'espère que cela t'aides. Mettre à jour en cas de problème.

peakit
la source
8
J'ai personnellement ces dossiers liés symboliquement à Dropbox et les profils RSE sont également liés. La configuration générale des paramètres d'éclipse peut également être exportée depuis ide
Anton S
5
Je vais commencer par ceci, mais malheureusement, il y a beaucoup plus de paramètres en dehors de ce répertoire que je voudrais synchroniser.
David Harkness
@DavidHarkness: veuillez préciser - quels paramètres - où? Vous pourriez poster une réponse ici - je demande entre autres: "Serait-il sûr et suffisant de lier le \.metadata\.plugins\org.eclipse.core.runtime\.settings directory?" - pour peakit: ce n'est pas aussi simple que cela - le ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settingscontient également des paramètres d'espace de travail et a d'autres particularités - voir mon analyse ici
Mr_and_Mrs_D
Pour copier le dossier, utilisez Robocopy: stackoverflow.com/questions/472692/…
weberjn
1
Pour les garder synchronisés, pensez à Unison: cis.upenn.edu/~bcpierce/unison
Alice Purcell
114

Une autre option est l'exportation / importation:

  1. Depuis votre espace de travail existant File->Export...->General->Preferences, cochez Tout exporter et choisissez le fichier dans lequel les enregistrer (prefs.epf par exemple)
  2. Démarrez Eclipse dans un nouvel espace de travail, File->Import...->General->Preferenceschoisissez votre fichier (prefs.epf), cochez tout importer

Cela a très bien fonctionné pour l'auteur original de cette astuce: il a importé son formatage de code, son style de code, svn repos, préférences jres.

Edit: Sur Eclipse Juno, cela fonctionne mal. Certaines préférences ne sont pas transférées silencieusement, telles que les actions de sauvegarde.

Anthony Dahanne
la source
2
Fonctionne également avec Eclipse STS (Spring Tool Suite) 3.4
рüффп
A travaillé sur Eclipse Luna
GP cyborg
1
On pourrait faire à la fois ceci et ce que Peakit a dit dans sa réponse. J'espère que cette combinaison d'actions sera suffisante pour vraiment tout exporter .
Nikos
8

C'est un projet relativement nouveau, mais il semble qu'Eclipse Oomph ait été créé exactement pour cette raison. Grâce à cet outil, vous pouvez créer une configuration unique qui peut être partagée avec d'autres. Je ne l'ai pas (encore) utilisé, mais je prévois de:

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

HDave
la source
Yatta Profiles s'appuie sur le programme d'installation d'Oomph / Eclipse et facilite le partage.
Bernhard Stadler
1
@BernhardStadler Yatta ne transfère pas les préférences.
ThomasMcLeod
Yatta peut se souvenir des valeurs de préférence par défaut - les préférences d'espace de travail peuvent être enregistrées avec l'enregistreur de préférences, et pour les préférences de projet, vous n'avez pas besoin d'outils supplémentaires car vous pouvez les ajouter à votre SCM. Le principal cas d'utilisation prévu pour la configuration de l'espace de travail de développement en un clic pour les équipes dans le but de minimiser les temps de configuration, mais la synchronisation des profils privés entre différents ordinateurs est également possible. Je ne l'ai jamais essayé moi-même, mais selon leur page Web, il est possible d'appliquer des mises à jour à partir de profils en ligne, il devrait donc être possible d'utiliser des profils en ligne privés comme mécanisme de synchronisation.
Bernhard Stadler
7

Je devais travailler sur plusieurs espaces de travail simultanément et il y avait beaucoup de préférences à définir chaque fois que je créais un nouvel espace de travail. J'ai créé un espace de travail de modèle et créé tous les paramètres requis dans cet espace de travail de modèle. Chaque fois que je crée un nouvel espace de travail, je crée un lien sim du {new_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settingspoint vers {template_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings. Ainsi, lorsque vous modifiez une préférence dans l'un des espaces de travail, elle sera répliquée dans tous les autres espaces de travail.

J'ai créé cet alias de fonction dans mon .profile afin qu'une fois que j'ai créé un nouvel espace de travail, j'exécute cette fonction dans mon invite de commande avec mon nouveau nom d'espace de travail comme argument afin que le lien soit créé.

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
la source
En fait, c'est ce que je voulais faire aussi (sous Windows) - mais il y a des complications: voir ma réponse ici
Mr_and_Mrs_D
3

Depuis Eclipse Neon (et peut-être aussi Mars), vous pouvez copier les deux répertoires suivants, pour partager votre plan de travail et vos paramètres / préférences entre vos différents espaces de travail:

    [workspace]/.metadata/.plugins/org.eclipse.core.runtime/.settings
    [workspace]/.metadata/.plugins/org.eclipse.e4.workbench
Antonio Malcolm
la source
Est-ce vraiment introduit dans Neon? Y a-t-il un changelog / readme ou d'autres informations qui le confirment?
Danijel
En général, les développeurs ont leur propre référentiel GIT et non partagé, alors la liste est: 1. [espace de travail] /. Metadata / .plugins / org.eclipse.core.runtime / .settings - Sauf [espace de travail] /. Metadata / .plugins /org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs 2. [workspace] /. metadata / .plugins / org.eclipse.e4.workbench
Timo Riikonen
2

Il y a deux questions ici. Tout d'abord, il y a les définitions de projet, les fichiers .project et les paramètres spécifiques au projet. Personnellement, j'aime ceux de mon contrôle de source, car cela facilite grandement la vérification d'un projet et la configuration d'un IDE.

Deuxièmement, vous avez les paramètres de l'espace de travail. Vous verrez beaucoup de questions dans ce domaine. Je suggère de jeter un œil à Pulse : il s'agit d'une distribution Eclipse améliorée qui peut, entre autres, enregistrer les paramètres de votre espace de travail et les synchroniser avec plusieurs machines ou membres de l'équipe.

zvikico
la source
1

Vous pouvez également copier les fichiers .prefs à partir ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settingsd'un dossier appelé .settings dans le dossier racine de votre projet, puis l'ajouter à SVN (ou CVS ou ...)

De cette façon, les paramètres seront distribués à tous les développeurs avec le code source lors d'une mise à jour.

Evvo
la source
0

J'ai eu le même problème.

ma démarche: stocker les données du projet dans un répertoire géré par owncloud

Le projet X est créé au poste de travail A, avec un chemin personnalisé pointant vers un nouveau sous-répertoire de ma hiérarchie ownCloud. L'espace de travail par défaut réside toujours sur le système de fichiers de A.

Lorsque je suis assis au poste de travail BI, ouvrez l'espace de travail local par défaut (local sur B) et créez un nouveau projet en utilisant les sources existantes dans le répertoire ownCloud «synchronisé».

Cliquez simplement sur Actualiser à chaque fois que vous lancez Eclipse et que vous avez les données du projet en cours. La synchronisation s'exécute automatiquement en arrière-plan, alors faites attention lorsque vous avez fini de travailler pour fermer eclipse et donnez à ownCloud une chance de télécharger les nouveaux fichiers sur le serveur ownCloud.

Tomcat ou d'autres serveurs fonctionnent en local, la configuration est copiée manuellement entre les machines via scp. Cela ne se produit que s'il y a des changements dans la configuration du serveur, ce qui n'est pas très fréquent.

Je n'ai eu aucun problème de compatibilité en utilisant NEON 2 (arch linux) et NEON 3 (téléchargez une exécution sur debian stretch) avec différents JDK pour le moment.

Meilleures salutations Armin

armin
la source
0

Copiez simplement les répertoires

${old_workspace}/.metadata/.plugins

d'un projet existant au nouveau.

Cela a bien fonctionné dans les projets PHP (plutôt simples).

schogol
la source
0

Vous pouvez utiliser Eclipstyle pour cloner les préférences d'un espace de travail vers vos autres espaces de travail. Vous pouvez également exporter vos préférences et les cloner plus tard.

Utku Ufuk
la source