java

位置:IT落伍者 >> java >> 浏览文章

基于Eclipse的工具开发:常用技巧[1]


发布日期:2019年05月12日
 
基于Eclipse的工具开发:常用技巧[1]
——此文章摘自《自己动手写开发工具基于Eclipse的工具开发》定价特价 详细>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

插件开发中经常会碰到一些常用的技巧掌握这些技巧可以极大地提高插件的开发效率并且可以减小插件的体积下面列出一些常见的技巧

() 由一个普通项目得到Java项目

Java项目是一种特殊的项目需要注意的是IJavaProject并不是从IProject继承的不能将一个IProject对象强制转换成一个IJavaProject对象也不能把一个IJavaProject实例赋值给IProject变量

由IProject项目得到Java项目的方式

IJavaProject javaPoject = JavaCorecreate(IProject);

由IJavaProject得到IProject的方式

调用IJavaProject的IProject getProject();

() 得到工作空间中的所有Java项目

我们可以首先得到工作空间中的所有项目然后逐个进行转换不过这不免麻烦了一些下面介绍更好的方式IJavaModel是所有Java项目的根通过它就可以得到所有的Java项目

IWorkspaceRoot root = ResourcesPlugingetWorkspace()getRoot();

IJavaModel jModel = JavaCorecreate(root);

IJavaProject jProject[] = jModelgetJavaProjects();

() 打开Java编辑器并显示Java编译单元的特定成员

代码如下

void showMethod(IMember member) {

ICompilationUnit cu = membergetCompilationUnit();

IEditorPart javaEditor = JavaUIopenInEditor(cu);

JavaUIrevealInEditor(javaEditor member);

}

() 在工程下创建一个comcownew包并创建一个Hellojava文件

代码如下

IPackageFragmentRoot pkroot = JavaProject

getPackageFragmentRoot(JavaProjectgetResource());

IPackageFragment pkg = pkrootcreatePackageFragment(comcownew true

new NullProgressMonitor());

pkgcreateCompilationUnit(Hellojava package comcownew; true

new NullProgressMonitor());

() 打开【打开类型】对话框

以下代码段使用 JavaUI 类来打开【打开类型】对话框

SelectionDialog dialog = JavaUIcreateTypeDialog(parent

new ProgressMonitorDialog(parent)

SearchEnginecreateWorkspaceScope()

IJavaElementSearchConstantsCONSIDER_ALL_TYPES false);

dialogsetTitle(打开类型);

dialogsetMessage(请选择要打开的类型);

if (dialogopen() == IDialogConstantsCANCEL_ID)

return null;

Object[] types = dialoggetResult();

if (types == null || typeslength == )

return null;

Systemoutprintln(types[]);

用类似方法还可以创建【打开包】和【打开主要类型】对话框

right>[] [http://developcsaicn/Java_Eclipse/htm>] [http://developcsaicn/Java_Eclipse/htm>] [http://developcsaicn/Java_Eclipse/htm>]

               

上一篇:基于Eclipse的工具开发:常用技巧[2]

下一篇:浅谈Acegi配置-Spring-Java[1]