[转]eclipse插件开发中获取当前的路径

 

以下是从网上找来的,如何获取相关路径的方法(没有全部试过,仅供参考):

1. 得到某 PLUGIN 的路径 :

Platform.getBundle("mypluginid").getLocation().

eclipse 采用 osgi 后好像还可以 :

Activator.getDefault().getBundle().getLocation().( 前提是这个插件有 Activator 这个类 . 这个类继承了 ECLIPSE Plugin )

eclipse 采用 osgi 前好像好像是 :

MyPlugin.getDefault().getBundle().getLocation().( 前提是这个插件有 MyPlugin 这个类 . 这个类继承了 ECLIPSE Plugin )

2. 得到工作区路径 :Platform.getlocation();

ResourcesPlugin.getWorkspace(); 好像

Platform.getInstanceLocation() 也可行

3. 得到 ECLIPSE 安装路径

Platform.getInstallLocation();

4. 从插件中获得绝对路径:

AaaaPlugin.getDefault().getStateLocation().makeAbsolute().toFile().getAbsolutePath()

通过文件得到 Project

IProjectproject=((IFile)o).getProject();

 

通过文件得到全路径:

Stringpath=((IFile)o).getLocation().makeAbsolute().toFile().getAbsolutePath();

 

得到整个 Workspace 的根:

IWorkspaceRootroot=ResourcesPlugin.getWorkspace().getRoot();

 

从根来查找资源:

IResourceresource=root.findMember(newPath(containerName));

 

Bundle 来查找资源:

Bundlebundle=Platform.getBundle(pluginId);

URLfullPathString=BundleUtility.find(bundle,filePath);

 

得到 Appliactionworkspace

Platform.asLocalURL(PRODUCT_BUNDLE.getEntry("")).getPath()).getAbsolutePath();

 

得到 runtimeworkspace

Platform.getInstanceLocation().getURL().getPath();

 

从编辑器来获得编辑文件

IEditorParteditor=((DefaultEditDomain)(parent.getViewer().getEditDomain())).getEditorPart();

IEditorInputinput=editor.getEditorInput();

if(inputinstanceofIFileEditorInput){

IFilefile=((IFileEditorInput)input).getFile();

}

 

获取插件的绝对路径:

FileLocator.resolve(BuildUIPlugin.getDefault().getBundle().getEntry("/")).getFile();

 

你可能感兴趣的:([转]eclipse插件开发中获取当前的路径)