sal*_*emi 13 eclipse console hyperlink
在Code:System.out.println("myPackage.MyClass");
在Eclipse控制台中:myPackage.MyClass.myMethod
我想在Console中单击输出(myPackage.MyClass.myMethod)并直接显示相应的方法,类似于异常堆栈跟踪所发生的情况.任何的想法?
vik*_*ing 14
也许这对其他人来说很清楚,但我发现其他答案令人困惑,尽管这是正确的.eclipse控制台解析模式(FileName.java:lineNumber)是该文件中该行的链接:
(MyFile.java:2)
Run Code Online (Sandbox Code Playgroud)
正如其他答案所指出的,有很多方法可以将其输出到控制台.在线的位置无关紧要,它只是一种模式匹配.正如Colin Smith所示,log4j PatternLayout可以(%F:%L)用来获取文件名和行号.要以编程方式获取文件名和行号,请查看此问题.
问题是关于链接到一个方法,我相信你可以使用Tonny Madsen推荐的consolePatternMatchListeners方法,并在这个问题中有更详细的描述.
异常堆栈跟踪的超链接基于该行末尾给出的文件名和行号.例如
Stack trace:
org.eclipse.jface.internal.databinding.provisional.BindingException: string property does not have a read method.
at org.eclipse.jface.internal.databinding.internal.beans.JavaBeanObservableValue.doGetValue(JavaBeanObservableValue.java:102)
at org.eclipse.jface.internal.databinding.internal.beans.JavaBeanObservableValue.setValue(JavaBeanObservableValue.java:83)
Run Code Online (Sandbox Code Playgroud)
对于第一个堆栈跟踪,它位于文件的第102行JavaBeanObservableValue.java.在当前类路径中搜索文件,因此如果您有多个具有相同名称的类,则始终找到第一个...
换句话说,如果要根据示例添加扩展超链接,则需要稍微扩展控制台视图...
...可以使用org.eclipse.ui.console.consolePatternMatchListeners扩展点完成.使用这个扩展点非常容易,通过查看JDT中的示例,您应该能够让您的示例在没有太多工作的情况下工作......
一种更简单的方法是欺骗控制台为您创建链接.格式很简单:
System.out.println("(" + new TestBed().getClass().getSimpleName() + ".java:" + 18 + ")");
Run Code Online (Sandbox Code Playgroud)
显然,您可以根据需要在代码中提供类类型和行号.
| 归档时间: |
|
| 查看次数: |
13680 次 |
| 最近记录: |