java eclipse 插件开发 的一些问题

darren中 2014-05-26 03:07:34
第一次进行eclipse插件开发
我现在创建的是popmenu项目 也就是右键菜单的插件形式
我的目的是想在java或者javaweb项目上面 点击右键 我想获取到当前项目的路径 我要怎么写?

百度了很多地方 还是不清楚 求教
另外希望有经验的大神和我说说这个插件开发的一些基本流程 十分感谢!
...全文
170 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
darren中 2014-05-31
  • 打赏
  • 举报
回复
引用 1 楼 jacky4631 的回复:
public static String getCurrentProject(){    
        ISelectionService selectionService =     
            Workbench.getInstance().getActiveWorkbenchWindow().getSelectionService();    

        ISelection selection = selectionService.getSelection();    

        IProject project = null;    
        if(selection instanceof IStructuredSelection) {    
            Object element = ((IStructuredSelection)selection).getFirstElement();    

            if (element instanceof IResource) {    
                project= ((IResource)element).getProject();    
            } else if (element instanceof PackageFragmentRootContainer) {    
                IJavaProject jProject =     
                    ((PackageFragmentRootContainer)element).getJavaProject();    
                project = jProject.getProject();    
            } else if (element instanceof IJavaElement) {    
                IJavaProject jProject= ((IJavaElement)element).getJavaProject();    
                project = jProject.getProject();    
            }    
        }     
        return project.getLocation().toFile().getAbsolutePath();    
    }
\ 是的 用这段代码可以拿到 不过你回复的比较晚了 我插件那块基本上已经了解了 想实现的东西基本上OK了
tony4geek 2014-05-30
  • 打赏
  • 举报
回复
现在做 插件的 怎么样。
忘了隐藏 2014-05-30
  • 打赏
  • 举报
回复
public static String getCurrentProject(){    
        ISelectionService selectionService =     
            Workbench.getInstance().getActiveWorkbenchWindow().getSelectionService();    

        ISelection selection = selectionService.getSelection();    

        IProject project = null;    
        if(selection instanceof IStructuredSelection) {    
            Object element = ((IStructuredSelection)selection).getFirstElement();    

            if (element instanceof IResource) {    
                project= ((IResource)element).getProject();    
            } else if (element instanceof PackageFragmentRootContainer) {    
                IJavaProject jProject =     
                    ((PackageFragmentRootContainer)element).getJavaProject();    
                project = jProject.getProject();    
            } else if (element instanceof IJavaElement) {    
                IJavaProject jProject= ((IJavaElement)element).getJavaProject();    
                project = jProject.getProject();    
            }    
        }     
        return project.getLocation().toFile().getAbsolutePath();    
    }

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧