I am trying to create a plugin which would give me a list of absolute path of all the files inside a project opened in eclipse.

I tried but I am able to get the path of the active window only..

My action code is:

  IWorkbenchPart workbenchPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart(); 
    IFile file = (IFile) workbenchPart.getSite().getPage().getActiveEditor().getEditorInput().getAdapter(IFile.class);
    if (file == null)
        try {
            throw new FileNotFoundException();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    String path = file.getRawLocation().toOSString();
    System.out.println("path: " + path);

Here I am only getting the path for active window..But I want list of absolute path of all the files inside a project ..mainly the files under src folder...

Please guide me if I can do it in the same way or do I need to use some different API for this.

有帮助吗?

解决方案

After my research, I found out below code would get the path of Eclipse's current workspace's project directory:

//get object which represents the workspace  
IWorkspace workspace = ResourcesPlugin.getWorkspace();  

//get location of workspace (java.io.File)  
File workspaceDirectory = workspace.getRoot().getLocation().toFile()

Note: You need to import org.eclipse.core.resources and org.eclipse.core.runtime to use these API's

Source

其他提示

Given an IResource, you can use the method org.eclipse.core.resources.IResource.getLocation() that returns an IPath with the "absolute path of this resource in the local file system, or null if no path can be determined". Then you can use the method org.eclipse.core.runtime.IPath.toOSString() that returns a String representation.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top