簡體   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