I am working on eclipse plugin in which i have to open a file from project explorer. Suppose i have a project ABC in project explorer. after right click on project i got a option to run my plugin tool. after processing i got some result like Check file xyz.java.
Now i want to open this file in IDE by code
i am using this
File absolute = new File("/Decider.java");
File file = new File("/Decider.java");
IFileStore fileOnLocalDisk = EFS.getLocalFileSystem().getStore(absolute.toURI() );
FileStoreEditorInput editorInput = new FileStoreEditorInput(fileOnLocalDisk);
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page = window.getActivePage();
try {
page.openEditor(editorInput, "org.eclipse.ui.DefaultTextEditor");
page.openEditor(editorInput, "MyEditor.editor");
IFileStore fileStore = EFS.getLocalFileSystem().getStore(absolute.toURI() );
IDE.openEditorOnFileStore( page, fileStore );
} catch (PartInitException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
System.out.println(file.getCanonicalPath());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
IPath path = new Path(" /DirectoryReader.java");
IFile sampleFile = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
IEditorInput editorInput1 = new FileEditorInput(sampleFile);
IWorkbenchWindow window1=PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page1 = window1.getActivePage();
try {
page1.openEditor(editorInput1, "org.eclipse.ui.DefaultTextEdtior");
} catch (PartInitException e1) {
e1.printStackTrace();
}
here it's create a new file named decider in c drive which means it's getting a wrong path.
but when i use path code in some independent java file as a normal JAVA project it's getting the correct path.
-
I'm not clear what you are asking. Do you just want to open the default editor on a project file, or a specific editor or what?greg-449– greg-4492013年10月08日 06:56:32 +00:00Commented Oct 8, 2013 at 6:56
-
just want to open default eclipse editor as mention in code which is "org.eclipse.ui.DefaultTextEditor"user2379020– user23790202013年10月08日 06:58:22 +00:00Commented Oct 8, 2013 at 6:58
-
This problen is like when i run the plugin it's shows some error in a view like console of eclipse. Right now i want to open file which have bug.we have file name as you can see in absolute variable. i want to open this file but by above code it's creating a new file in new location.user2379020– user23790202013年10月08日 07:00:31 +00:00Commented Oct 8, 2013 at 7:00
-
and this is eclipse editor for development.user2379020– user23790202013年10月08日 07:01:29 +00:00Commented Oct 8, 2013 at 7:01
1 Answer 1
For a file in the workspace you should use IFile. If you have a selection from Project Explorer or another view that should already be an IFile or can be adapted to an IFile.
If you just have a workspace relative path use ResourcesPlugin.getWorkspace().getRoot().getFile(path) (path would include a project).
To open the default editor for the file contents use
IDE.openEditor(page, file, true);
to open a specific editor use
IDE.openEditor(page, file, "editor id");
IDE is org.eclipse.ui.ide.IDE.
1 Comment
IDE.openEditor does return the IEditorPart that was opened, editors which implement ITextEditor have a selectAndReveal method which shows an offset in the file.Explore related questions
See similar questions with these tags.