基于Eclipse的工具开发:常用技巧[1]
插件开发中经常会碰到一些常用的技巧 掌握这些技巧可以极大地提高插件的开发效率 并且可以减小插件的体积 下面列出一些常见的技巧
( ) 由一个普通项目得到Java项目
Java项目是一种特殊的项目 需要注意的是IJavaProject并不是从IProject继承的 不能将一个IProject对象强制转换成一个IJavaProject对象 也不能把一个IJavaProject实例赋值给IProject变量
由IProject项目得到Java项目的方式 IJavaProject javaPoject = JavaCore create(IProject);
由IJavaProject得到IProject的方式 调用IJavaProject的IProject getProject();
( ) 得到工作空间中的所有Java项目
我们可以首先得到工作空间中的所有项目 然后逐个进行转换 不过这不免麻烦了一些 下面介绍更好的方式 IJavaModel是所有Java项目的根 通过它就可以得到所有的Java项目 IWorkspaceRoot root = ResourcesPlugin getWorkspace() getRoot(); IJavaModel jModel = JavaCore create(root); IJavaProject jProject[] = jModel getJavaProjects();
( ) 打开Java编辑器并显示Java编译单元的特定成员
代码如下 void showMethod(IMember member) { ICompilationUnit cu = member getCompilationUnit(); IEditorPart javaEditor = JavaUI openInEditor(cu); JavaUI revealInEditor(javaEditor member); }
( ) 在工程下创建一个 cownew包 并创建一个Hello java文件
代码如下 IPackageFragmentRoot pkroot = JavaProject getPackageFragmentRoot(JavaProject getResource()); IPackageFragment pkg = pkroot createPackageFragment( cownew true new NullProgressMonitor()); pkg createCompilationUnit( Hello java package cownew; true new NullProgressMonitor());
( ) 打开【打开类型】对话框
以下代码段使用 JavaUI 类来打开【打开类型】对话框 SelectionDialog dialog = JavaUI createTypeDialog(parent new ProgressMonitorDialog(parent) SearchEngine createWorkspaceScope() IJavaElementSearchConstants CONSIDER_ALL_TYPES false); dialog setTitle( 打开类型 ); dialog setMessage( 请选择要打开的类型 ); if (dialog open() == IDialogConstants CANCEL_ID) return null; Object[] types = dialog getResult(); if (types == null || types length == ) return null; System out println(types[ ]);
用类似方法还可以创建【打开包】和【打开主要类型】对话框
lishixinzhi/Article/program/Java/ky/201311/28998
2024-09-19 广告