2012-05-14 27 views

回答

3

將org.eclipse.ui.console添加爲依賴關係,之後您可以創建不同的擴展。
有關您可以在此頁面上找到的實施的更多詳細信息http://www.eclipsezone.com/eclipse/forums/t66777.html

這裏簡單的實現(source):

的plugin.xml

<plugin> 
    <extension point="org.eclipse.ui.console.consoleFactories"> 
     <consoleFactory label="ConsoleX" class="console.Factory"> 
     </consoleFactory> 
    </extension> 
</plugin> 

類工廠

package console; 

import org.eclipse.ui.console.ConsolePlugin; 
import org.eclipse.ui.console.IConsole; 
import org.eclipse.ui.console.IConsoleFactory; 
import org.eclipse.ui.console.IConsoleManager; 
import org.eclipse.ui.console.MessageConsole; 

public class Factory implements IConsoleFactory { 

    private static MessageConsole _console; 

    public void openConsole() { 
     MessageConsole console = getConsole(); 
     if (console != null) { 
      IConsoleManager manager = 
      ConsolePlugin.getDefault().getConsoleManager(); 
      IConsole[] existing = manager.getConsoles(); 
      boolean exists = false; 
      for (int i = 0; i < existing.length; i++) { 
       if(console == existing[i]) 
        exists = true; 
      } 
      if(! exists) 
       manager.addConsoles(new IConsole[] {console}); 
      manager.showConsoleView(console); 
     } 

    } 

    public static MessageConsole getConsole() { 
     if (_console == null) { 
      _console = new MessageConsole("ConsoleX",null); 
     } 
     return _console; 
    } 

} 

使用

Factory.getConsole().activate(); 
Factory.getConsole().newOutputStream().write("Hello world.".getBytes()); 
+0

好的謝謝CSchulz – dev09

+0

如果有什麼可以幫助你,不要忘了投票和類似。 :) – CSchulz

相關問題