這裏後集是我的代碼代碼段(在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從你的幫助我知道如何獲取文件相關的事件。但是,有沒有什麼方法可以在文件保存後獲取監聽器? –