如何获取Eclipse Workspace Location URI

Vam*_*hna 9 eclipse eclipse-plugin

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

IWorkspace workspace = ResourcesPlugin.getWorkspace();
Run Code Online (Sandbox Code Playgroud)

我是Eclipse PDE的新手.什么方法返回工作空间的URI位置.如果工作空间是C:\ Eclipse\Workspace,则为Ex.我需要路径C:\ Eclipse\Workspace

Chr*_*ken 13

你要:

ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();
Run Code Online (Sandbox Code Playgroud)


Eug*_*ene 6

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

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

我的建议:

  1. 如果你想找到一些资源 - 使用IResource :: getLocationURI并检查它是否是本地文件(如果URL是EFS,你可以下载内容)
  2. 如果要访问插件数据(即.metadata),请使用Plugin.getStateLocation
  3. 如果您仍然认为您需要工作空间根目录 - Platform.getInstanceLocation

  • +1.普通Eclipse插件应始终在不知道绝对文件系统位置的情况下工作. (2认同)