繁体   English   中英

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

[英]Xtext cross-reference across all files in project

我正在用xtext做一个非常简单的DSL。 项目将包含定义消息名称或引用消息名称的文件。 我提供了一个简化的示例:

语法:

Model:
    statements+=(MessageDefinition | MessageUsage)*;
MessageDefinition:
    '[MESSAGE_DEF]' name=ID;
MessageUsage:
    '[MESSAGE_USAGE]' usage=[MessageDefinition];

File1.ex:

[MESSAGE_DEF] EXAMPLE_1
[MESSAGE_DEF] EXAMPLE_2
[MESSAGE_USAGE] EXAMPLE_1

File2.ex:

[MESSAGE_USAGE] EXAMPLE_2

在此示例中,EXAMPLE_1的交叉引用的工作方式是使用法上的“打开声明”将我带到定义。 但是,EXAMPLE_2上的交叉引用无效。 我认为默认作用域规则会阻止其他文件共享引用。

我需要添加什么以便项目中的所有文件共享相同的全局引用范围?

附加信息:

  • 在运行系统项目中启用了“自动构建”选项。
  • .project文件包括用于xtextBuilder的buildCommand和用于xtextNature的自然。
  • 我仅尝试使用IDE交叉引用功能,没有代码生成。
  • 运行时项目中的所有文件都存在于同一文件夹中。

该项目是使用标准向导中的“ Xtext Project”创建的,我只从预生成的代码中编辑了语法,其他所有内容均与默认设置相同。 我以为我需要添加一些自定义作用域行为/规则来将所有文件加载到全局范围中,但是我不确定应该怎么做?

如果您的语法和作用域很好,它将很好地工作

  1. 在运行时工作区中自动启用了构建
  2. 您在其中建模的项目具有xtext性质和启用的xtext构建器(右键单击->配置-> ...)
  3. 如果是Java项目模型,则文件必须驻留在源文件夹或源文件夹内的包中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM