我将提供一个在Java世界感到非常不舒服的人的视角,我想这也是你的情况。
是什么
工作区是一个将以下内容组合在一起的概念:
- 一组(某种方式)相关的项目
- 所有这些项目相关的一些配置信息
- Eclipse本身的一些设置
这是通过创建一个目录并将能够告诉Eclipse这些信息的文件放入其中(您不必这样做,它已为您完成)来实现的。您唯一需要明确执行的操作是选择这些文件将被放置的文件夹。而且,这个文件夹不需要与您放置源代码的文件夹相同 - 最好不要。
以上每个项目的探索如下:
- 一组(某种方式)相关的项目
Eclipse似乎总是与特定的工作区关联打开,即,如果您在工作区A中,并决定切换到工作区B(文件 > 切换工作区),Eclipse会关闭并重新打开。所有与工作区A相关联的项目(并出现在项目资源管理器中)将不再显示,与工作区B相关联的项目现在将出现。因此,似乎必须将一个项目与工作区关联,才能在Eclipse中打开它。
请注意,这并不意味着项目源代码必须在工作区内。工作区将以某种方式与您磁盘上项目的物理路径有关(谁知道怎么搞的?我已经在工作区里寻找了一些指向项目路径的文件,但没有成功)。
因此,一个项目可以同时存在于多个工作区中。所以最好将您的工作区和源代码分开。
- 所有这些项目相关的一些配置信息
我听说,诸如 Java 编译器版本(例如 1.7 - 我不知道“版本”这个词是否正确)等内容是工作区级别的配置。如果你在 Eclipse 中编译工作区内的多个项目,则所有项目都将使用相同的 Java 编译器进行编译。
- 一些 Eclipse 自身的设置
类似键绑定之类的某些内容也保存在工作区级别。因此,如果你定义 ctrl+tab 可以智能切换选项卡(而不是堆叠它们),那么这个绑定只与当前工作区相关联。如果你想在另一个工作区中使用相同的键绑定(我想你会!),那么似乎需要在工作区之间导出/导入它们(如果是这样,那么这个 IDE 是基于一些非常奇怪的前提构建的)。这里有一个链接可以了解更多信息。
此外,工作区似乎在不同的 Eclipse 版本之间不一定兼容。这篇文章建议你在工作区的名称中包含 Eclipse 版本的名称。
更重要的是,一旦选择了一个文件夹作为工作区,请不要触碰其中的任何文件,否则你将遇到一些麻烦。
我认为使用它的好方法
(实际上,当我写这篇文章时,我还不知道如何以正确的方式使用它,这就是我在这里试图整理答案的原因)
为你的项目创建一个文件夹:
/projects
为每个项目创建一个文件夹,并将项目的子项目分组放置其中:
/projects/proj1/subproj1_1
/projects/proj1/subproj1_2
/projects/proj2/subproj2_1
为你的工作区创建一个单独的文件夹:
/eclipse-workspaces
为你的项目创建工作区:
/eclipse-workspaces/proj1
/eclipse-workspaces/proj2