如何获取项目中所有模型文件的名称(uri)

How to get name (uri) of all model files in project

在验证器中,我想获取所有模型文件的 uri。

我只能获取当前文件的名称(例如 myDsl1.mydsl),但我也想获取其他文件的 uri(例如 myDsl2.mydsl、myDsl3.mydsl)。

这可以在验证器中完成,还是我应该创建新的 classes/methods 来查看这些文件?

您可以通过 IResourceDescriptionsProvider 访问 Xtext 索引 IResourceDescriptions。您可以向 IResourceDescriptions 询问 getAllResourceDescriptions,您可能需要为项目过滤。 要使用标准可见性机制,请查看 IContainer.ManagergetVisibleContainers/getContainer 以及 IContainer.getResourceDescriptions´. Check out DefaultGlobalScopeProvider` 以获取示例用法。