2012-05-14 6 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

関連する問題