0

在我的语言中,我包含可以具有另一个文件的相对或绝对路径的语句。我需要能够引用在这个其他文件中定义的对象。我尝试使用 importURI 但它不起作用。我所尝试的只是添加这条规则:

Include:
    'INCLUDE' '='  importURI=STRING ';'
;

现在我有一个关于环境变量的问题。由于这个语法是以前开发的,并且有很多基于这个语法的测试文件,我需要让我的 xtext 解析器支持我们之前拥有的所有内容。其中之一是能够使用路径中的环境变量导入另一个文件。

我尝试为项目定义环境变量,然后根据这些变量链接文件,但问题是 importURI 字符串没有获取环境变量。

假设我在项目中定义了文件 1,其中包含指向文件的链接:

INCLUDE = "${VAR1}/file2.foo";

VAR1 已定义,file2 链接到基于 VAR1 的项目。

不幸的是,这不起作用,您知道我该如何解决吗?

4

1 回答 1

0

我通过覆盖ImportUriGlobalScopeProvider.getImportUris方法解决了这个问题。

问题importURI在于处理链接到工作区或项目的文件。因此,在我的情况下,我将文件自动链接到getimportUris方法中的虚拟项目。

于 2013-08-09T00:07:01.030 回答