这里后集是我的代码代码段(在XTEXT工作) (保存在文件中的模型)的Eclipse:入门资源节约
generatedModel.save(null) //here generatedModel is an object of resource
然后,当我试图撷取有关此模型的信息使用
...getResource(...)
我得到了以下资源未找到 错误但是,当我在两者之间加入了Thread.sleep(3000),它的工作。因此,这是在资源被保存到文件之前被访问时发生的。 我试图添加一个侦听器来检查文件何时被保存。这里是代码:
var listener = new IResourceChangeListener() {
override resourceChanged(IResourceChangeEvent event) {
if (event.type === IResourceChangeEvent.POST_CHANGE) {
delta = event.delta
}
if (delta.kind === IResourceDelta.CHANGED) {
delta.accept(
new IResourceDeltaVisitor() {
override visit(IResourceDelta innerdelta) throws CoreException {
if (innerdelta.resource.type === IResource.FILE)
println("YESYESYEYESYEYESYSY")
else if(innerdelta.resource.type === IResource.FOLDER)
println("PPPPPPPPPPPPPPPPPP")
else if (innerdelta.resource.type === IResource.PROJECT)
println("WWWWWWWWWWWWWWWWWWWW")
else
println("NONONONONO")
return false
}
}
)
}
}
}
var workspace = ResourcesPlugin.workspace
workspace.addResourceChangeListener(listener)
但这没有帮助。这是打印NONONO ..总是在变化。我将文件保存在同一工作空间的其他文件夹中。 b(项目) - > scr-gen(文件夹) - >代码(文件夹) - >文件...
greg-449从你的帮助我知道如何获取文件相关的事件。但是,有没有什么方法可以在文件保存后获取监听器? –