我正在Eclipse(OS X)下开发依赖于库的应用程序。这表明如下:
我过去只有一个工作区,包含项目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另一个机会,但是我想首先得到一些反馈。
答案 0 :(得分:1)
不要将工作区嵌套到彼此中。否则,其中一个更改将使另一个与文件系统不同步,导致下次打开该工作区时出现很多混淆。请注意,Eclipse为工作空间中的资源管理自己的状态,这不仅仅是文件系统的1:1副本。
不要符号链接(或以其他方式)共享元数据文件夹。很多人都尝试过,但是没有用。虽然eclipse插件的大部分元信息都存储在元数据文件夹中,但并不要求这样做。这就是为什么许多插件还将一些信息存储在项目的子文件夹中,隐藏文件和其他地方。只要您无法复制或符号链接所有这些信息,只需将符号链接元数据文件夹导致不一致。
改用可用工具: