如何获得我的eclipse插件的.java文件路径

时间:2014-12-15 10:38:28

标签: eclipse eclipse-plugin

我正在开发一个eclipse插件,以便使用专有的版本控制系统来简化开发。

现在只有一个命令提示符版本的系统可用于此VCS及其在终端中运行。因此,从我的eclipse插件中,我想提供一个简单的菜单选项来执行签出和签入等操作,并在内部调用这些命令。 但要运行这些命令,我​​需要传递参数' path'在编辑器/项目资源管理器中选择的.java文件。如何将源文件的路径获取到插件?

1 个答案:

答案 0 :(得分:3)

获取当前工作台页面:

IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

工作台页面实现了ISelectionService,因此您可以获得当前选择:

ISelection selection = page.getSelection();

这通常由IStructuredSelection(但您需要检查)

IStructuredSelection sel = (IStructuredSelection)selection;

看看这是否适应IFile

Object selObject = sel.getFirstElement();  // or iterate through all the selection elements

IFile file = Platform.getAdapterManager().getAdapter(selObject, IFile.class);

如果你得到一个文件的完整路径是:

String location = file.getLocation().toOSString();

如果当前部分是编辑器,则您收到的选择可能是文本字符串。所以你需要单独处理编辑:

IWorkbenchPart activePart = page.getActivePart();

if (activePart instanceof IEditorPart)
 {
   IEditorInput input = ((IEditorPart)activePart).getEditorInput();

   if (input instanceof IFileEditorInput)
    {
      IFile file = ((IFileEditorInput)input).getFile();

      ...
    }
 }