2016-06-27 9 views
0

Eclipseで出力情報を表示するのにMessageConsoleを使用しています。出力はError 1 - (MyClass.java:10)にフォーマットされています。これは、this postのように、コンソールがパターン(FileName.java:LineNumber)を自動的に解析できる必要があるため、コード(MyClass.java 10行目)へのクリック可能なリンクを生成すると予想されます。Eclipse MessageConsole:(Filename.java:LineNumber)としてクリック可能なリンクを生成できません

しかし、この方法では動作しませんでした。しかし、プラグインEclipseで直接このパターンを出力するのにSystem.out.println()を使用すると、リンクが生成されます。

また、プラグインに複数のコンソールが存在する可能性も考えましたが、パターン付きテキストを他のコンソールにストリーミングすることもできませんでした。どんな洞察?

私のコードは次のようなものです:Javaコードリンク用

ConsolePlugin plugin = ConsolePlugin.getDefault(); 
IConsoleManager conMan = plugin.getConsoleManager(); 
MessageConsole myConsole = new MessageConsole(name, null); 
conMan.addConsoles(new IConsole[]{myConsole}); 
MessageConsoleStream out = myConsole.newMessageStream(); 
out.println("Error 1 - (MyClass.java:10)"); 

答えて

1

マッチングのみjavaStackTraceConsoleコンソールタイプを持っているコンソールのために行われます。

拡張ポイントorg.eclipse.ui.console.consolePatternMatchListenersを使用すると、独自のパターンマッチャーを定義して、コンソールで同じことを行うことができます。

それとも、使用することができます。既存のmatcherにマッチするには、コンソール用コンソールタイプを指定する

public MessageConsole(String name, String consoleType, ImageDescriptor imageDescriptor, boolean autoLifecycle) 

コンストラクタを。

+0

ありがとうございました。私はmessageConsole.addPatternMatchListenerを使用して、あなたが提案したトリックを終わらせました。私はコンストラクタのアプローチを試して、consoleType引数に "javaStackTraceConsole"の値を与えました。 MessageConsoleをJavaStrackTraceConsoleにキャストできないため、動作しません。 – Aliu

関連する問題