Как поделиться конфигурацией Eclipse в разных рабочих областях


130

Я использую Eclipse (PDT) в качестве основной IDE на разных машинах. (как дома, на ноутбуке, в офисе и т. д.). Как я могу прагматично совместно использовать Eclipse и конфигурацию проекта между несколькими компьютерами? Должен ли я контролировать их версии или есть более простой способ сделать это?

Как обеспечить использование одной и той же старой и хорошей конфигурации на всех ваших компьютерах?


У меня были всевозможные проблемы с совместным использованием кода в одной рабочей области с помощью Dropbox. Я бы предпочел иметь несколько рабочих пространств, по одному для каждой машины, и синхронизировать группу рабочих пространств с помощью Dropbox.
djangofan

3
Старый вопрос, который я знаю, но для потомков я нашел этот пост в блоге очень полезным: mcuoneclipse.wordpress.com/2012/04/04/… (Это не мой пост :-)
Стюарт

В окружении Windows всегда есть сложности. Проверка настроек рабочего пространства в системе управления версиями - не ответ. Настройки системы управления версиями являются частью настроек рабочей области.
Крис Топинка 08

Ответы:


4

Фактически вы можете установить множество параметров конкретного проекта, которые можно проверить в системе управления версиями. Для небольших проектов это действительно хорошо. Для более крупных проектов мы решили создать единый файл, который мы использовали для всех наших проектов, и поместили его в отдельный проект «активов», в котором хранятся вещи, необходимые разработчикам для начала работы над нашим проектом. Это также включало такие вещи, как лицензии и другие необходимые файлы.


45
Хотя это принятый ответ, вам обязательно следует прокрутить вниз и посмотреть другие ответы, поскольку они содержат дополнительную информацию.
Тофер Фанхио

1
@erenon - Можете ли вы снять отметку с этого ответа как принятый и выбрать другой, более подходящий? Остальные содержат гораздо больше информации, но я не могу удалить этот ответ, если он принят.
Topher Fangio

176

Совместное использование конкретных настроек eclipse в рабочих областях :

  1. Перейти к ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings
  2. Скопируйте все, что находится в указанном выше каталоге, в ${new_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings

Это позволит убедиться, что ${new_workspace}конфигурация у него такая же, как у${old_workspace}

Надеюсь это поможет. Обновите в случае возникновения проблем.


8
Лично у меня есть символические ссылки на эти папки и Dropbox, а также профили RSE. Общая конфигурация настроек eclipse также может быть экспортирована из ide
Anton S

5
Я начну с этого, но, к сожалению, есть еще много настроек вне этого каталога, которые я хотел бы синхронизировать.
Дэвид Харкнесс

@DavidHarkness: поясните, какие настройки - где? Вы можете опубликовать ответ здесь - я спрашиваю среди других: "Было бы безопасно и достаточно ли жестко связать \.metadata\.plugins\org.eclipse.core.runtime\.settings directory?" - to peakit: это не так просто - он также ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settingsсодержит настройки рабочего пространства и имеет другие особенности - см. мой анализ здесь
Mr_and_Mrs_D

Чтобы скопировать папку, используйте Robocopy: stackoverflow.com/questions/472692/…
weberjn

1
Чтобы синхронизировать их, подумайте о Unison: cis.upenn.edu/~bcpierce/unison
Alice Purcell

114

Другой вариант - экспорт / импорт:

  1. В существующей рабочей области File->Export...->General->Preferencesустановите флажок «Экспортировать все» и выберите файл для их сохранения (например, prefs.epf).
  2. Запустите Eclipse в новой рабочей области, File->Import...->General->Preferencesвыберите свой файл (prefs.epf), отметьте импорт всех

Это отлично сработало для первоначального автора этого совета: ему были импортированы его форматирование кода, стиль кода, репозитории svn, настройки jres.

Изменить: в Eclipse Juno это работает плохо. Некоторые настройки автоматически не переносятся, например действия сохранения.


2
Также работает с Eclipse STS (
Spring

Работал над Eclipse Luna
GP cyborg

1
Можно было сделать и это, и то, что сказал в своем ответе пик. Надеюсь, этой комбинации действий будет достаточно, чтобы все по-настоящему экспортировать .
Никос

8

Это относительно новый проект, но похоже, что Eclipse Oomph был создан именно по этой причине. С помощью этого инструмента вы можете создать уникальную конфигурацию, которой можно поделиться с другими. Я не использовал его (пока), но планирую:

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


Yatta Profiles основан на установщике Oomph / Eclipse и упрощает совместное использование.
Бернхард Штадлер

1
@BernhardStadler Yatta не передает предпочтения.
ThomasMcLeod

Yatta может запоминать значения предпочтений по умолчанию - предпочтения рабочего пространства могут быть записаны с помощью Preference Recorder, а для предпочтений проекта вам не нужны никакие дополнительные инструменты, поскольку вы можете добавить их в свой SCM. Основной предполагаемый вариант использования: настройка рабочего пространства для разработчиков одним щелчком мыши с целью минимизации времени настройки, но также возможна синхронизация личных профилей между разными компьютерами. Я никогда не пробовал это сам, но, согласно их веб-странице, возможно, можно применять обновления из онлайн-профилей, поэтому должно быть возможно использовать частные онлайн-профили в качестве механизма синхронизации.
Бернхард Штадлер

7

Мне приходилось работать с несколькими рабочими пространствами одновременно, и каждый раз, когда я создавал новое рабочее пространство, нужно было устанавливать множество предпочтений. Я создал рабочее пространство шаблона и создал все необходимые настройки в этом рабочем пространстве шаблона. Каждый раз, когда я создаю новое рабочее пространство, я создаю simlink, на который {new_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settingsнужно указать {template_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings. Таким образом, когда вы редактируете какие-либо настройки в любом из рабочих пространств, они будут реплицированы во всех других рабочих пространствах.

Я создал этот псевдоним функции в своем .profile, чтобы после создания нового рабочего пространства я запускал эту функцию в командной строке с именем нового рабочего пространства в качестве аргумента, чтобы была создана ссылка.

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;
}

Собственно, это то, что я тоже хотел сделать (в Windows), но есть сложности: см. Мой ответ здесь
Mr_and_Mrs_D

3

Что касается Eclipse Neon (и, возможно, также Mars), вы можете скопировать следующие два каталога, чтобы поделиться своим рабочим столом и настройками / предпочтениями среди ваших различных рабочих пространств:

    [workspace]/.metadata/.plugins/org.eclipse.core.runtime/.settings
    [workspace]/.metadata/.plugins/org.eclipse.e4.workbench

Это действительно введено в Neon? Есть ли журнал изменений / readme или другая информация, подтверждающая это?
Danijel

Обычно разработчики имеют свой собственный репозиторий GIT и не являются общими, поэтому список следующий: 1. [рабочая область] /. Metadata / .plugins / org.eclipse.core.runtime / .settings - кроме [workspace] /. Metadata / .plugins /org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs 2. [рабочая область] /. metadata / .plugins / org.eclipse.e4.workbench
Тимо Рииконен

2

Здесь есть два вопроса. Во-первых, это определения проекта, файлы .project и специфические настройки проекта. Лично мне нравятся те, что есть в моем исходном элементе управления, поскольку они значительно упрощают проверку проекта и настройку IDE.

Во-вторых, у вас есть настройки рабочего пространства. В этой области вы увидите много вопросов. Я предлагаю взглянуть на Pulse : это расширенный дистрибутив Eclipse, который, помимо прочего, может сохранять настройки вашего рабочего пространства и синхронизировать их с несколькими машинами или членами команды.


1

Вы также можете скопировать файлы .prefs из ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings в папку с именем .settings в корневой папке вашего проекта, а затем добавить их в SVN (или CVS или ...)

Таким образом, настройки будут распространены среди всех разработчиков вместе с исходным кодом во время обновления.


0

У меня такая же проблема.

мой подход: хранение данных проекта в каталоге, управляемом owncloud

Project X создается на рабочей станции A с настраиваемым путем, указывающим на новый подкаталог моей иерархии ownCloud. Рабочее пространство по умолчанию по-прежнему находится в файловой системе A.

Когда я сижу на рабочей станции, BI открываю локальную рабочую область по умолчанию (локальную на B) и создаю новый проект, используя существующие источники в «синхронизированном» каталоге ownCloud.

Просто нажимайте «Обновить» каждый раз, когда запускаете eclipse и у вас есть данные текущего проекта. Синхронизация выполняется в фоновом режиме автоматически, поэтому по завершении работы позаботьтесь о закрытии eclipse и дайте ownCloud возможность загрузить новые файлы на сервер ownCloud.

Tomcat или другие серверы работают локально, конфигурация вручную копируется между машинами через scp. Это происходит только в том случае, если есть изменения в настройке сервера, что бывает не очень часто.

У меня не было проблем с совместимостью с NEON 2 (arch linux) и NEON 3 (загрузите запуск на debian stretch) с разными JDK.

С уважением, Армин


0

Просто скопируйте каталоги

${old_workspace}/.metadata/.plugins

от существующего проекта к новому.

Это хорошо работало в (довольно простых) проектах PHP.


0

Вы можете использовать Eclipstyle для клонирования настроек одного рабочего пространства в другие рабочие пространства. Вы также можете экспортировать свои предпочтения и клонировать их позже.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.