java - Eclipse MessageConsole : cannot generate clickable link as (Filename. java:LineNumber)

标签 java eclipse eclipse-plugin

我在 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/

相关文章:

eclipse - Tomcat 没有获取正确的 jar

java - 我可以在 Eclipse Java 项目运行配置中设置任意命令吗?

c++ - 如何编写eclipse插件格式化C++14源码?

Java While 循环检查时间但不执行方法

java - Android 媒体播放器 OncompletionListener 播放下一首歌曲但不播放第二首歌曲

java - Java 中的变量列表

eclipse - EGit 推送 : How to store the remote repository info

java - 如何在嵌入式编辑器中显示打印边距/垂直线?

java - Web 挖掘或抓取或爬行?我应该使用什么工具/库?

linux - Tomcat是否使用符号链接(symbolic link)/usr/bin/java下的java?