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)

  • 相关阅读:
    C# 调试程序时如何输入命令行参数
    C# 连接和操作SQL SERVER数据库
    在C#中读写INI配置文件(转)
    Visual Studio 项目中添加include, lib, dll库文件(*.h,*.lib,*.dll)
    Android系统Recovery工作原理
    Windows服务创建及安装
    C# WinForm窗口最小化到系统托盘
    C#文件操作
    C# 调用Windows API实现两个进程间的通信
    Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331437.html
Copyright © 2011-2022 走看看