单个Eclipse项目中的多个Xtext DSL

时间:2017-02-17 14:53:20

标签: eclipse dsl xtext

我想知道是否有办法在单个Eclipse项目中组织多个DSL。更具体地说,我想在一些顶级"项目文件夹"中组织DSL的所有五个Xtext项目。

背景是我们通过制作更小的可重复使用的DSL来管理复杂性并实现重用。一个可重用于表达式,另一个可用于更多特定于域或特定于应用程序的方面。但是,每个Xtext DSL都会产生5个项目,当涉及多个DSL时,会导致Package Explorer出现大量混乱。之前曾提出过一个强烈相关的问题:

Xtext: define 2 DSL's in one project

答案是,在特定用例的项目中不需要多个DSL。我的用例不同,因为我希望能够轻松查看不同的DSL,并可能共同开发它们。

我们在Gradle管理的环境中使用Xtext。我们正在使用Gradle Eclipse插件,它可以在任何地方创建大量的Eclipse项目文件。因此,在选择"从文件系统打开项目"在Eclipse中,我不仅可以选择导入与DSL相关的五个项目,还可以选择将父文件夹作为项目打开。这意味着我可以将每个DSL(所有五个项目)整齐地组织在一个"项目文件夹中#34;。这正是我想要的! ...

但是......

它实际上不起作用。下图显示了我的包浏览器,底部包含了我的ExperimentDSL的五个项目。这个DSL有效。最重要的是,它显示了包含Gradle生成的项目文件时得到的文件夹结构,从而生成了一个"项目文件夹"可能包含多个DSL。

enter image description here

如您所见,GenerateExperimentDSL标记为红色并拒绝运行。似乎Eclipse以某种方式将其视为Java项目,但我不知道如何更改它,以及这是否有助于解决我的问题。其次,我不知道如何手动设置这样的项目,因为这个失败案例中的项目文件是由Gradle生成的。

长话短说,有没有人知道如何使这种文件夹结构工作,这样我就可以将所有的DSL保存在工作区中而不会出现混乱?

1 个答案:

答案 0 :(得分:0)

目前无法尝试做什么。看看Eclipse中的WorkingSets概念,它可以让你实现类似的东西