如何在不同的工作空间上共享Eclipse配置


130

我将Eclipse(PDT)用作不同机器上的主要IDE。(例如,在家中,笔记本电脑,办公室等)。如何在多台计算机之间实用地共享Eclipse和项目配置?我应该对它们进行版本控制,还是有更简单的方法来做到这一点?

您如何确保在配置所有计算机时都使用相同的旧版本?


使用Dropbox在单个工作空间中共享代码时,我遇到了各种各样的问题。我倾向于使用多个工作区,每台机器一个,并使用Dropbox同步工作区组。
djangofan 2011年

3
我知道一个老问题,但对于后代,我发现此博客文章非常有用:mcuoneclipse.wordpress.com/2012/04/04/…(这不是我的文章:-)
Stewart

Windows env上总是存在复杂性。将工作空间设置检入源代码管理不是答案。源代码管理设置是工作区设置的一部分。
克里斯·托潘卡

Answers:


4

实际上,您可以设置许多项目特定的设置,这些设置可以检查到源代码管理中。对于小型项目,这确实很好。对于较大的项目,我们决定有一个用于所有项目的文件,然后检入一个单独的“资产”项目,该项目维护着开发人员开始着手我们的项目所需的内容。这还包括许可证和其他必需文件之类的内容。


45
虽然这是可接受的答案,但是您绝对应该向下滚动并查看其他答案,因为它们还有其他信息。
Topher Fangio 2014年

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
我个人将那些文件夹符号链接到保管箱,并且将RSE配置文件符号链接。蚀设置整体结构也可以导出从IDE
安东小号

5
我将从此开始,但是可悲的是,该目录之外还有许多我想同步的设置。
David Harkness 2012年

@DavidHarkness:请详细说明-哪些设置-哪里?您可能会在此处发布答案-我在其他问题中问:“是否可以安全且足够硬链接\.metadata\.plugins\org.eclipse.core.runtime\.settings directory?” -达到峰值:不那么简单- ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings还包含工作区设置并具有其他功能-请在此处
Mr_and_Mrs_D 2013年

要复制的文件夹使用的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),选中import all

这对本技巧的原始作者非常有用:他导入了代码格式,代码样式,svn存储库,jres首选项。

编辑:在Eclipse Juno上,效果不佳。某些首选项不会自动保留,例如保存操作。


2
工程以及与Eclipse STS(春季工具套件)3.4
рüффп

在Eclipse Luna
GP机器人

1
一个人可以做到这一点,也可以做到峰值。我希望这些行动的结合将足以真正出口一切
Nikos

8

这是一个相对较新的项目,但正是出于这个原因,看起来好像是Eclipse Oomph诞生了。通过此工具,您可以创建可以与他人共享的唯一配置。我尚未使用过,但正计划:

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


Yatta Profiles建立在Oomph / Eclipse Installer的基础上,共享变得更加容易。
伯恩哈德·斯塔德勒

1
@BernhardStadler Yatta不会转移首选项。
ThomasMcLeod

Yatta可以记住默认的首选项值-工作空间首选项可以使用Preference Recorder记录,对于项目首选项,您不需要任何其他工具,因为您可以将它们添加到SCM。团队的主要预期用例“一键式开发”工作区设置是为了最大程度地缩短设置时间,但也可以在不同计算机之间同步私有配置文件。我从未亲自尝试过,但是根据他们的网页,可能可以应用在线配置文件中的更新,因此应该可以将私有在线配置文件用作同步机制。
Bernhard Stadler,

7

我必须同时在多个工作空间上工作,每次创建新工作空间时都需要设置很多首选项。我创建了一个模板工作区,并创建了所有在该模板workspace.Whenever我创建一个新的工作区进行必要的设置,我创建的一个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 2012年

3

从Eclipse Neon(可能还有Mars)开始,您可以复制以下两个目录,以在不同的工作空间之间共享工作台和设置/首选项:

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

霓虹灯真的有介绍吗?是否有变更日志/自述文件或其他一些信息可以确认这一点?
Danijel

通常,开发人员拥有自己的GIT存储库并且不共享,因此列表如下:1. [workspace] /。metadata / .plugins / org.eclipse.core.runtime / .settings-除了[workspace] /。metadata / .plugins /org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs 2. [workspace] /。metadata / .plugins / org.eclipse.e4.workbench
Timo Riikonen,

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将一个工作空间的首选项克隆到其他工作空间。您还可以导出首选项并在以后克隆它们。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.