单击右键菜单时,我想在eclipse中获取文件名及其包路径。
行动类已实施IObjectActionDelegate
运行方法如下,
public void run(IAction action)
{
ISelection sel = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
if (!(sel instanceof IStructuredSelection))
return null;
}
IStructuredSelection selection = (IStructuredSelection) sel ;
Object obj = selection.getFirstElement();
IFile file = (IFile) Platform.getAdapterManager().getAdapter(obj, IFile.class);
但是“sel”变量不是IStructuredSelection的实例。因此它返回null。
我已经通过以下链接, How to get the active package path in eclipse workspace
但没有结果。
答案 0 :(得分:0)
您展示的代码应该适用于视图中的选择,但如果您正在处理编辑器,则需要以不同的方式执行操作。
类似的东西:
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart editor = page.getActiveEditor();
IEditorInput input = editor.getEditorInput();
IFile file = (IFile)Platform.getAdapterManager().getAdapter(input, IFile.class);