首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >跨项目中所有文件的Xtext交叉引用

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

Stack Overflow用户
提问于 2016-11-20 13:10:39
回答 1查看 1.1K关注 0票数 1

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

语法:

代码语言:javascript
运行
AI代码解释
复制
Model:
    statements+=(MessageDefinition | MessageUsage)*;
MessageDefinition:
    '[MESSAGE_DEF]' name=ID;
MessageUsage:
    '[MESSAGE_USAGE]' usage=[MessageDefinition];

File1.ex:

代码语言:javascript
运行
AI代码解释
复制
[MESSAGE_DEF] EXAMPLE_1
[MESSAGE_DEF] EXAMPLE_2
[MESSAGE_USAGE] EXAMPLE_1

File2.ex:

代码语言:javascript
运行
AI代码解释
复制
[MESSAGE_USAGE] EXAMPLE_2

在本例中,来自EXAMPLE_1的交叉引用可以使“开放声明”的用法带我进入定义。但是,EXAMPLE_2上的交叉引用不起作用。我认为默认的作用域规则可以阻止不同的文件共享引用。

为了使项目中的所有文件共享交叉引用的相同全局范围,我需要添加什么?

其他信息:

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-20 20:45:26

如果您的语法和范围确定的话,它会很好地工作。

  1. 在运行时工作区中自动启用生成
  2. 您所建模的项目启用了xtext特性和xtext生成器(右键单击->配置-> .)
  3. 如果是java项目模型文件,则必须驻留在源文件夹或源文件夹中的包中。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40709423

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文