跨项目中所有文件的Xtext交叉引用

时间:2016-11-20 21:10:39

标签: eclipse scope dsl xtext cross-reference

我正在使用xtext创建一个非常简单的DSL。项目将包含定义消息名称或引用消息名称的文件。我已经包含了一个简化的例子:

语法:

[MESSAGE_USAGE] EXAMPLE_2

File1.ex:

  protected $fillable = [
        'name', 'email', 'password', 'company_name','street_name','whatever'
    ];

File2.ex:

->create($data);

在此示例中,来自EXAMPLE_1的交叉引用的作用是" Open Declaration"在使用上带我到定义。但是,EXAMPLE_2上的交叉引用不起作用。我认为默认的范围规则可以防止不同的文件共享引用。

我需要添加什么才能让项目中的所有文件共享相同的全局范围以进行交叉引用?

其他信息:

  • 选项"自动构建"在运行时项目中启用。
  • .project文件包含xtextBuilder的buildCommand和a 自然为xtextNature。
  • 我只是尝试使用IDE 交叉引用功能,没有代码生成。
  • 运行时项目中的所有文件都存在于同一文件夹中。

该项目是使用" Xtext Project"创建的。在标准向导中,我只编辑了预生成代码中的语法,其他所有内容都是默认的。我想我需要添加一些自定义作用域行为/规则来将所有文件加载到全局作用域中,但我不确定应该如何做到这一点?

1 个答案:

答案 0 :(得分:2)

如果你

,你的语法和范围可以正常工作
  1. 在运行时工作区中自动启用了构建
  2. 您建模的项目具有xtext nature和xtext builder(右键单击 - > configure - > ...)
  3. 如果是java项目模型文件必须驻留在源文件夹或源文件夹中的包