9

我正在开发一个插件,它将当前工作区的位置 URI 传递给其他方法。

IWorkspace workspace = ResourcesPlugin.getWorkspace();

我对 Eclipse PDE 很陌生。什么方法返回工作空间的 URI 位置。如果工作区是 C:\Eclipse\Workspace,则为 Ex。我需要路径 C:\Eclipse\Workspace

4

3 回答 3

14

你要:

ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();
于 2012-07-27T17:34:10.910 回答
6

您确定需要工作区 URL 吗?您唯一可能依赖的是它将包含 .metadata 文件夹 - 其他所有内容都可能位于其他地方:

  1. 可以在工作区之外创建项目。
  2. 工作区文件/文件夹实际上可能是外部资源的链接(甚至可能不是本地文件)。

我的建议:

  1. 如果您想查找一些资源 - 使用 IResource::getLocationURI 并检查它是否是本地文件(如果 URL 是 EFS,您可以下载内容)
  2. 如果您想访问您的插件数据(即在 .metadata 中),请使用 Plugin.getStateLocation
  3. 如果您仍然认为您需要工作区根 - Platform.getInstanceLocation
于 2012-07-27T18:22:05.957 回答
1

获取任何资源的绝对文件系统路径:

IResource.getLocation() 
于 2012-07-27T17:29:40.083 回答