我在 Eclipse 中使用 MessageConsole
来显示输出信息。输出被格式化为 Error 1 - (MyClass.java:10)
,预计会生成一个可点击的代码链接(在本例中为 MyClass.java 第 10 行),因为控制台应该是能够按照 this post 中的建议自动解析模式 (FileName.java:LineNumber)
.
然而,这种方式却失败了。但是当我使用 System.out.println() 直接在插件 Eclipse 中输出此模式时,可以生成链接。
我还考虑了插件中多个控制台的可能性,但将图案文本流式传输到其他控制台也不起作用。有什么见解吗?
我的代码如下:
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)");
最佳答案
Java 代码链接的匹配仅针对具有 javaStackTraceConsole
控制台类型的控制台。
因此,您可以使用 org.eclipse.ui.console.consolePatternMatchListeners
扩展点来定义您自己的模式匹配器,以便为您的控制台执行相同的操作。
或者您可以使用:
public MessageConsole(String name, String consoleType, ImageDescriptor imageDescriptor, boolean autoLifecycle)
构造函数来指定控制台的控制台类型以匹配现有的匹配器。
关于java - Eclipse MessageConsole : cannot generate clickable link as (Filename. java:LineNumber),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38045340/