2

我有以下 Xtext 语法:

Model:
    'model' name = ID imports += Import* items += Item* rules += Rule*;

Import:
    'import' importURI = STRING;

Rule:
    'rule' name = ID '(' items += [Item]* ')';

Item:
    'item' name = ID;

打开编辑器时,如果 s 中的所有Item引用在Rule同一个文件中,它们都会正确突出显示,我可以使用 F3 跳转到声明。但是,如果我尝试从其他文件导入它们,那将不起作用。例如:

文件first.mydsl

model first
import "second.mydsl"
rule myRule (second) 

文件second.mydsl

model second
item second

假设这两个文件在同一个文件夹中,它仍然不会从导入的文件中找到“第二个”引用。如果我包含导入文件的文件扩展名或完整路径,它也不起作用。如何让 Xtext 识别导入的文件?

(交叉发布到http://www.eclipse.org/forums/index.php/m/805182/#msg_805182

4

1 回答 1

0

请确保您配置您的工作流程如下

        // scoping and exporting API
        fragment = scoping.ImportURIScopingFragment {}
        fragment = exporting.SimpleNamesFragment {}

        // scoping and exporting API
        // fragment = scoping.ImportNamespacesScopingFragment {}
        // fragment = exporting.QualifiedNamesFragment {}
        // fragment = builder.BuilderIntegrationFragment {}
        ....
        // fragment = types.TypesGeneratorFragment {}
于 2012-02-24T15:55:15.107 回答