2017-02-01 9 views
2

私は、Eclipseコンソールの出力をキャプチャする必要があるプラグインを作成しています。私のplugin.xmlには、consolePatternMatchListenersを使用してeclipseのコンソール出力をキャプチャする方法は?

<extension 
    point="org.eclipse.ui.console.consolePatternMatchListeners"> 
    <consolePatternMatchListener 
     class="eventhandling.PatternMatcher" 
     id="eventhandling.PatternMatcher" 
     regex=".*"> 
     <enablement> 
     <test property="org.eclipse.ui.console.consoleTypeTest" value="exampleConsole"/> 
    </enablement> 
    </consolePatternMatchListener> 

が含まれていますが、次のようなパターンマッチャーは呼び出されません。私は、Eclipseコンソールからすべてをキャプチャする作業コードを作成する方法を知りたいと思います。

<consolePatternMatchListener 
     class="org.eclipse.jdt.internal.debug.ui.console.JavaConsoleTracker" 
     regex="\(\w*${java_extensions_regex}\S*\)" 
     qualifier="${java_extensions_regex}" 
     id="org.eclipse.jdt.debug.ui.JavaConsoleTracker"> 
    <enablement> 
     <or> 
     <test property="org.eclipse.ui.console.consoleTypeTest" value="javaStackTraceConsole"/> 
     <test property="org.eclipse.debug.ui.processTypeTest" value="java"/> 
     <test property="org.eclipse.debug.ui.processTypeTest" value="org.eclipse.ant.ui.antProcess"/> 
     </or> 
    </enablement> 
</consolePatternMatchListener> 

私はこれを信じて:あなたは一致させたいが、ここではより一般的な使用可能値のいくつかを示す実際のJavaスタック・トレース・コンソールパターンマッチが何であるかをコンソールタイプ言っていない

import org.eclipse.ui.console.*;; 
public class PatternMatcher implements IPatternMatchListener { 

    @Override 
    public void connect(TextConsole console) { 
     // TODO Auto-generated method stub 
     System.out.println("testing"); 

    } 

    @Override 
    public void disconnect() { 
     // TODO Auto-generated method stub 
     System.out.println("testing"); 

    } 

    @Override 
    public void matchFound(PatternMatchEvent event) { 
     // TODO Auto-generated method stub 
     System.out.println("testing"); 
    } 

    @Override 
    public String getPattern() { 
     // TODO Auto-generated method stub 
     System.out.println("testing"); 
     return "*"; 
    } 

    @Override 
    public int getCompilerFlags() { 
     // TODO Auto-generated method stub 
     System.out.println("testing"); 
     return 0; 
    } 

    @Override 
    public String getLineQualifier() { 
     // TODO Auto-generated method stub 
     System.out.println("testing"); 
     return null; 
    } 

} 
+0

これは、タイプ 'exampleConsole'のコンソールに対してのみ有効です。それはあなたのコンソールタイプですか? –

+0

@ greg-449自分のコンソールの種類がわかりません。それを空白のままにしておくと、うまくいきません。問題は、コンソールタイプに関するドキュメントがほとんどないことです。私はこの[post](https://bugs.eclipse.org/bugs/show_bug.cgi?id=175888#c6)で定義されているコンソールタイプを試しましたが、動作しません。 – OSBLE

答えて

0

Javaスタックトレースのコンソールと一致しており、プロセス出力はJavaおよびAntプログラムのコンソールとして機能しています。

+0

ありがとう、これは私が想像したように動作するようです。どうもありがとう! – OSBLE

関連する問題