2010-05-04 56 views
7

我正嘗試以編程方式在編輯的文件上以編程方式執行'OrganizeImports'。 我的代碼如下所示:以編程方式調用組織導入

final ICommandService cmdService = (ICommandService)PlatformUI.getWorkbench().getService (ICommandService.class); 
    if (cmdService != null) { 
     final Command cmd = cmdService.getCommand(IJavaEditorActionDefinitionIds.ORGANIZE_IMPORTS); 
     final ExecutionEvent execEvt = new ExecutionEvent(cmd, Collections.EMPTY_MAP, compileationUnit, null); 

     PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); 
     ResourcesPlugin.getWorkspace(). 

     Display.getDefault().syncExec(new Runnable() { 
      @Override 
      public void run() { 
       try { 
        //cmd.executeWithChecks(execEvt); 
        cmd.execute(execEvt); 
       } catch (Exception e) { 
        getLogger().severe("organize imports failed: " + e.getMessage()); 
       } 
      } 

我的問題是OrganizeImportsAction當前選中這是不一樣的編譯單元我編輯的執行。我想在編譯單元上以編程方式設置選擇,但我不知道該怎麼做。或者也許有另一種方式來觸發OrganizeImports。

感謝, 斯特凡

回答