zoukankan      html  css  js  c++  java
  • eclipse中如何打开一个编辑器

    原文:http://www.cnblogs.com/youngerbaby/articles/380100.html

    eclipse中打开一个编辑器要调用

     IWorkbenchPage.openEditor(IEditorInput input, String editorId)

    因此要打开一个编辑器要获得3个对象,IWorkbenchPage实例、IEditorInput实例、editorId
    1. 获得IWorkbenchPage实例

    1  IWorkbenchWindow dwindow  =  PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    2  IWorkbenchPage wbPage  =  dwindow.getActivePage();


    2. 获得IEditorInput实例

     private  IProject getActiveProject()  {
             IEditorPart editor 
     =  PlatformUI.getWorkbench()
                     .getActiveWorkbenchWindow().getActivePage().getActiveEditor();
             
     if  (editor.getEditorInput()  instanceof  FileEditorInputProxy)  {
                 FileEditorInputProxy fei 
     =  (FileEditorInputProxy) editor
                         .getEditorInput();
                 IFile f 
     =  fei.getFile();
                 
     return  f.getProject();
             }
     

             
     return   null ;
         }
     private  IFile getFile(String fileName)  {
             IProject prj 
     =  getActiveProject();
             
     if  (prj  ==   null )
                 
     return   null ;
             
     try   {
                 IResource[] members 
     =  prj.members();
                 
     for  (IResource r : members)  {
                     
     if  (r.getName().equals(fileName))  {
                         
     return  (IFile) r;
                     }
     

                 }
     

             }
     
      catch  (CoreException e)  {
                 
     //  TODO Auto-generated catch block 
     
                e.printStackTrace();
             }
     

             
     return   null ;
         }


    3. 获得打开Editor的editorId
    editor plugin.xml里面定义的editorId,如果不知道的话可以用下面代码获得:

     private  String getEditorID(IFile file)  {
     
             IEditorDescriptor desc 
     =   null ;
             
     try   {
                 desc 
     =  IDE.getEditorDescriptor(file);
             }
     
      catch  (PartInitException e)  {
                 
     //  TODO Auto-generated catch block 
     

             }
     

             
     if  (desc  ==   null )
                 
     return  YourPlugin.getDefault().getWorkbench()
                         .getEditorRegistry().findEditor(
                                 IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID).getId();
             
     else 
                 
     return  desc.getId();
         }

    三个对象实例都有了,就可以调用上面第一行代码打开编辑器了!

    IWorkbenchPage.openEditor( new FileEditorInput(IFile), editorId)

  • 相关阅读:
    非root用户在linux下安装多个版本的CUDA和cuDNN(cuda 8、cuda 10.1 等)
    python相关总结
    可视化滤波器
    Ubuntu 和windows程序区别
    远程服务器运行代码相关
    Ubuntu
    jmeter学习(1)基础支持+安装部署
    python中eval方法的使用
    mysql学习(4)python操作数据库
    mysql学习(3)10045错误,连接不上数据库
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331437.html
Copyright © 2011-2022 走看看