Eclipse工作区:为什么和为什么?

e-m*_*tiv 126 eclipse workspace

我已经看过,阅读并想到了使用工作空间的不同方式(每个项目,每个应用程序(多个或非多个),每个程序语言,每个目标(web开发,插件,......)等)和我我仍然怀疑最好的方法是什么.

无论如何可以给出详细的,但不是一页长的洞察力?

这涉及很多子问题,可以这么说,我不知道我应该问的所有具体的子问题,因为我不确定我不知道eclipse(和工作区)的所有方面,但是我会尝试举例说明我在寻找的东西:

  • 做什么的?
    • eclipse开发意味着它用于什么?
    • 其他/大多数人的想法是什么?
    • 你怎么看?
    • ......?
  • 为什么?
    • 是否存在配置冲突与共享优点?
    • 任何文件空间的原因?
    • 性能?
    • ......?

哦,我说的是开发人员使用不同语言和协议的最小用例,并不一定都是在一个项目中(例如php,javascript和xml用于某些项目,C#用于其他项目,java和SQL用于静止)其他等..)

编辑2012-11-27:别误会我的意思.我不怀疑工作空间的使用,我只是想使用它,或者如果有人会认为它更好.那么"为什么?" 意思是:什么是最好的用途?而"为什么?" 实际上是针对"为什么?",换句话说:告诉我你答案的原因.

Raf*_*yng 40

我将向您提供我对Java世界感到非常不舒服的人的看法,我认为这也是您的情况.

这是什么

工作空间是将组合在一起的概念:

  1. 一组(某种程度上)相关的项目
  2. 一些与所有这些项目有关的配置
  3. Eclipse本身的一些设置

这可以通过创建一个目录并放入其中(您不必为它完成,它已经为您完成)文件来管理告诉Eclipse这些信息.您只需要选择放置这些文件的文件夹即可.此文件夹不需要与放置源代码的位置相同 - 优先不会.

探索上面的每个项目:

  1. 一组(某种程度上)相关的项目

Eclipse似乎总是与特定工作空间相关联地打开,即,如果您在工作空间A中并决定切换到工作空间B(文件>切换工作空间),Eclipse将自行关闭并重新打开.与工作区A关联(并且出现在项目浏览器中)的所有项目将不再出现,现在将显示与工作区B关联的项目.因此,似乎要在Eclipse中打开的项目必须与工作空间相关联.

请注意,这并不意味着项目源代码必须位于工作区内.工作区将以某种方式与磁盘中项目的物理路径有关(任何人都知道如何?我在工作区内查找指向项目路径的文件,但没有成功).

这样,项目一次可以在多个工作空间内.因此,保持工作区和源代码分离似乎很好.

  1. 一些与所有这些项目有关的配置

我听说过一些东西,比如Java编译器版本(比如1.7,例如 - 我不知道'版本'这个词是否在这里),是工作区级别的配置.如果您的工作区内有多个项目,并在Eclipse中编译它们,那么所有项目都将使用相同的Java编译器进行编译.

  1. Eclipse本身的一些设置

像键绑定这样的东西也存储在工作区级别.因此,如果您定义ctrl + tab将以智能方式切换选项卡(不堆叠它们),则只会绑定到当前工作区.如果你想在另一个工作区中使用相同的键绑定(我想你想要!),你似乎必须在工作空间之间导出/导入它们(如果这是真的,这个IDE是建立在一些非常奇怪的前提上的).这是一个链接.

似乎工作空间不一定兼容不同的Eclipse版本.本文建议您将包含Eclipse版本名称的工作空间命名为.

而且,更重要的是,一旦你选择一个文件夹作为你的工作区,不要触摸那里的任何文件或你遇到麻烦.

我认为这是一种使用它的好方法

(实际上,当我写这篇文章时,我不知道如何以一种好的方式使用它,这就是我寻找答案的原因 - 我想在这里组装)

  1. 为您的项目创建一个文件夹:
    /projects

  2. 为每个项目创建一个文件夹,并将项目的子项目分组:
    /projects/proj1/subproj1_1
    /projects/proj1/subproj1_2
    /projects/proj2/subproj2_1

  3. 为工作区创建单独的文件夹:
    /eclipse-workspaces

  4. 为项目创建工作区:
    /eclipse-workspaces/proj1
    /eclipse-workspaces/proj2

  • 这个答案确实有助于整个问题.但是,它有点文件夹聚焦,也错过了一些引用和参数.尽管如此,它还是提供了丰富的信息.叹了口气,这些答案变得越来越困难,因为所有这些答案都有所贡献,我开始认为我永远无法接受一个答案.我希望这里没有人是个怪人,我们会在没有接受答案的情况下离开吗? (2认同)

Dun*_*ebs 36

工作空间的重点是将一组相关项目组合在一起,这些项目通常构成一个应用程序.工作区框架归结为eclipse.core.resources插件,它自然地通过设计是有意义的.

项目具有性质,构建器附加到特定项目,当您在一个项目中更改资源时,您可以在同一工作区中的项目中实时编译或查看其他问题.所以我建议的策略是为你工作的不同项目提供不同的工作空间,但在eclipse中没有工作空间,就没有项目和配置集合的概念,毕竟它是一个IDE工具.

如果这没有意义,请问Net Beans或Visual Studio如何解决这个问题?这是同一个主题.Maven是一个很好的例子,将一组相关的maven项目检入工作区可以让您实时开发和查看错误.如果不是工作区,你还会建议什么?RCP应用程序可以是一个不同的野兽,取决于它的用途,但在真正的IDE意义上,我不知道什么是比项目的工作空间或上下文更好的解决方案.只是我的想法. - 邓肯

  • 我不同意"工作空间的意义在于将一组相关项目组合在一起,通常构成一个应用程序." 假设我正在开发两个应用程序,我应该有两个工作区吗?多烦啊!所有自定义透视图,键绑定,自动文本和其他首选项都与工作区相关联.每次开始新的应用程序时,我都必须重新创建它们!在我看来,你应该有两个工作区:开发和最新发布.在工作区中,为每个应用程序创建一个WORKING SET.这就是工作空间和工作集的使用方式. (5认同)
  • John,如果您的工作区中有两个应用程序,例如RCP应用程序,每个都需要不同的目标平台,或者不同的Java编译器合规级别,您会怎么做除非您的应用程序需要完全相同的运行时配置,否则将两个应用程序放入一个工作区将导致问题.我了解您希望使用一组常用的首选项,这就是为什么有一个首选项导出/导入功能,以便您可以设置新的工作区并导入您的组织或个人首选项和其他设置. (2认同)