共享所有Eclipse工作区中的所有设置

时间:2013-03-23 09:31:01

标签: eclipse ide

我正在Eclipse(OS X)下开发依赖于库的应用程序。这表明如下:

  • 项目A使用libs L1,L2,L3
  • 项目B使用libs L2,L3
  • 项目C使用libs L1,L2,L3

我过去只有一个工作区,包含项目A,B,C,L1,L2,L3,图书馆的存储库通常只有一个简单git clone。 我当时有:

~/projects/ProjectA
~/projects/ProjectB
~/projects/ProjectC
~/projects/Lib1
~/projects/Lib2
~/projects/Lib3

这已经有一段时间了,但现在随着项目A,B,C ......的发布和使用,项目可能不会使用相同版本的库......而且一切都变得过于复杂。

我看过工作集,但我认为这不是我想要的。

我创建了一个新的工作区,并再次克隆了库,以便我拥有:

~/projects/ProjectA/Project
~/projects/ProjectA/Lib1
~/projects/ProjectA/Lib2
~/projects/ProjectA/Lib3
~/projects/ProjectB
~/projects/ProjectC
~/projects/Lib1
~/projects/Lib2
~/projects/Lib3

所以A的libs不会与B和C中使用的其他副本冲突。

问题是新工作区有默认设置,我的所有视角,键盘快捷键和其他内容都消失了。
我安排了我的文件夹:

~/projects/EclipseSettings
~/projects/.metadata/.plugins/org.eclipse.core.runtime/.settings -> ~/projects/EclipseSettings
~/projects/ProjectA/.metadata/.plugins/org.eclipse.core.runtime/.settings -> ~/projects/EclipseSettings
~/projects/ProjectA/Project
~/projects/ProjectA/Lib1
~/projects/ProjectA/Lib2
~/projects/ProjectA/Lib3
~/projects/ProjectB
~/projects/ProjectC
~/projects/Lib1
~/projects/Lib2
~/projects/Lib3

如您所见,我将初始工作空间的.settings文件夹移动到新文件夹EclipseSettings,然后将每个工作区的.settings符号链接到该Eclipse设置文件夹。< / p>

不起作用。

例如,我已将命令 + M 分配给SVN提交:

  • 如果我加载了初始~/projects工作区,则键盘快捷键可以正常工作。
  • 如果我加载~/projects/ProjectA新工作区,Eclipse设置的“Keys”部分内的键盘快捷键 IS ,分配给SVN Commit,但是 它不工作 。当我使用那条捷径时,没有任何事情发生。

为什么呢?是否有除org.eclipse.core.runtime/.settings之外的其他文件来定义我的工作区?
此外,透视图不存在,Java Formatter似乎已经消失,在我在初始工作区中启用它时,在Save操作中未启用它...

我想知道是否应该使用该工作区来管理我的项目,而且我想知道为什么我使用Eclipse使用工作空间/项目,而IntelliJ似乎有更好的方法来管理所有内容。但我尝试过切换并坚持使用Eclipse 也许我应该给IntelliJ另一个机会,但是我想首先得到一些反馈。

1 个答案:

答案 0 :(得分:1)

不要将工作区嵌套到彼此中。否则,其中一个更改将使另一个与文件系统不同步,导致下次打开该工作区时出现很多混淆。请注意,Eclipse为工作空间中的资源管理自己的状态,这不仅仅是文件系统的1:1副本。

不要符号链接(或以其他方式)共享元数据文件夹。很多人都尝试过,但是没有用。虽然eclipse插件的大部分元信息都存储在元数据文件夹中,但并不要求这样做。这就是为什么许多插件还将一些信息存储在项目的子文件夹中,隐藏文件和其他地方。只要您无法复制或符号链接所有这些信息,只需将符号链接元数据文件夹导致不一致。

改用可用工具:

  • 创建新工作区时,系统会要求您复制当前设置。那样做!
  • 使用PulseYoxosWorkspace mechanic或其他第三方工具为您的工作区和项目提供“配置文件”。你可能想要搜索那些3的stackoverflow,看看很多其他人也试过手动同步而没有太大的成功。