我被告知Eclipse工作区相当于Visual Studio解决方案。但我也被告知,人们通常会使用一个工作区来完成所有工作。这些明显矛盾的陈述是否正确?如果是,那么我们如何在Eclipse中创建和维护多个VS解决方案的等价物?
其次,在VS的情况下,我也将我的解决方案(.sln)文件检入源代码控制中。相应地,我应该还是不应该检查Eclipse工作区的.metadata文件夹?
答案 0 :(得分:10)
我不认为,Eclipse工作区等同于VS解决方案。 Eclipse工作区存储了许多关于项目的元信息,它们的物理位置(可能在工作区文件夹之内或之外)等,甚至是工作台设置。将此信息上传到源代码管理中并不是一个好主意,因为其他开发人员可能会使用其他物理位置进行项目等。
Eclipse中有一个与解决方案类似的概念(类似,不相同):项目集。它只是一个GUI选项,可以将项目分组。这些集不能一起执行,只能在Project导航器中看到。
另一种方法是创建多个工作区文件夹,您可以将它们用作解决方案的替代方案。这种方法的缺点是,如果您自定义IDE(例如,通过使用“首选项”或通过定义源控件位置),则必须在每个工作区中进行这些自定义。可以使用Workspace Mechanic工具处理此问题(我尚未尝试过,但可以迁移这些设置)。
答案 1 :(得分:4)
为单个项目提供单独的工作空间更好的主要原因是性能和清晰度。由于编辑器辅助的共享类路径,在一个工作区中有许多项目,您必须关闭其他项目。编辑器使用所有项目的类路径进行内容辅助,类层次结构查找等。
Eclipse预计开放项目是相关的。当使用像Maven这样的项目经理时,一个maven项目通常被划分为许多小的eclipse项目。对项目来说,拥有一个单独的工作区是一种最佳实践。第二个原因是,通常你需要导入另一个相关的项目,看看事情是如何完成的,然后将它们全部放在一个工作区中会很糟糕。
您绝对不应该将.metadata文件夹提交到源代码管理中。你只提交里面的项目。因为您和其他人将仅将项目签出到他们自己的工作区中。但是你是否应该提交.project文件是一个问题,因为它是个性化的和eclipse版本特定的,像项目性质(java,spring,maven nature等)可以由任何人自己设置。项目中的.classpath文件应该提交给源代码控制,因为它们指定了类路径,再次设置它会非常耗时。
答案 2 :(得分:0)