2010-09-26 92 views
14

我听说Eclipse工作区相当于Visual Studio解决方案。但我也被告知,人们通常在他们所有的工作中都使用一个工作区。这些明显矛盾的表述是否正确?如果是,那么我们如何在Eclipse中创建和维护多个VS解决方案?其次,在VS的情况下,我也将我的解决方案(.sln)文件检入到源代码控制中。相应地,我应该还是不应该检入Eclipse工作区的.metadata文件夹?如何在Eclipse中组织“项目”和“解决方案”?

回答

10

我不认为,Eclipse工作区相当于VS解决方案。 Eclipse工作区存储了大量有关项目的元信息,它们的物理位置(可能位于工作区文件夹之内或之外)等,甚至工作台设置。将这些信息上传到源代码控制并不是一个好主意,因为其他开发人员可能会使用其他物理位置来进行项目等。

在Eclipse中,有一个与解决方案类似的概念(类似,不等同):项目集。它只是一个GUI选项,可以将项目分组。这些集合不能一起执行,只能在项目导航器中看到。

另一种方法是创建多个工作区文件夹,您可以将它们用作解决方案的替代方案。这种方法的缺点是,如果您自定义IDE(例如通过使用首选项或通过定义源控制位置),则必须在每个工作区中进行这些自定义。这个问题可以使用Workspace Mechanic工具来处理(我还没有尝试过,但它可以迁移这些设置)。

4

更好的主要原因是我为单个项目建立单独的工作空间的原因是性能和清晰度。由于在一个工作区内有许多项目,因为编辑器帮助的共享类路径,您必须关闭其他项目。编辑器使用所有项目的类路径进行内容辅助,类层次结构查找等。

Eclipse预计打开的项目是相关的。当使用像Maven这样的项目经理时,一个maven项目通常被分成许多小的eclipse项目。为项目建立单独的工作空间是一种最佳实践。第二个原因是,通常你需要导入另一个相关的项目来看看事情是如何完成的,然后将它全部放在一个工作空间中,这会非常糟糕。

绝对不应该将.metadata文件夹提交到源代码管理。你只提交里面的项目。因为你和其他人只会将项目检入到他们自己的工作区中。但是这是一个问题,你是否应该提交.project文件,因为它是个性化的,特定于eclipse版本,并且项目性质(java,spring,maven nature等)可以由任何人自己设置。项目中的.classpath文件应该提交给源代码管理,因为它们指定了classpaths,所以再次设置它将非常耗时。

+0

工作空间只是一组人员正在处理的可建立项目。每个项目使用一个单独的工作空间可能是有害的,因为它是一个全面的声明,它是所有情况下的最佳实践。 – 2010-09-29 18:02:31

+0

如果你低估了我的意见,至少应该揭示为什么每个项目有单独的工作空间都是有害的。我每天用4年蚀,我知道我在说什么。唯一真实的事实是,如果您知道如何轻松同步设置,那么不对每个大型项目单独分配工作空间可能是有害的。 – lisak 2010-09-30 12:08:33

1

您可以将项目分组在不同的工作空间或特定的工作空间中。一旦正确管理您的设置,非可能是有害的。

相关问题