使用环境变量导入xtext

时间:2013-06-17 22:20:11

标签: java eclipse eclipse-plugin eclipse-rcp xtext

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

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

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

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

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

INCLUDE =“$ {VAR1} /file2.foo”;

定义了VAR1,并且file2基于VAR1链接到项目。

不幸的是,这不起作用,你知道我怎么能解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

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

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