我正在eclipse中从ant的内部运行ant的flex编译器(mxmlc)(它们也打算在我们的持续集成服务器上运行,这就是为什么我不使用flex builder本身进行构建的原因)-模式eclipse-console无法识别mxmlc的内容,因此无法单击它们。
模式是这样的:
<文件的绝对路径>(<行号>):col:<列号>警告:<消息>
提出检测这些消息的正则表达式并不难。
如何让日食识别新的错误消息?我是否需要编写自己的扩展程序,还是可以在常规配置中添加正则表达式来获得一些常规支持?
我还可以尝试使ant将错误转换为类似于Java错误的内容,但我希望eclipse能够识别mxmlc错误。
编辑: 我发现了一个插件,可以使外观更加美观:Sunshade Errorlink(向下滚动一点)。我不确定这到底有多灵活,但它提到了蚂蚁的支持。
我知道您可能想要一个实际的实现,但这是您想要的插件设计的一个粗略起点。如果有人想实现它,请在此处添加指向它的链接。如果我有空闲时间,我可能会自己做(哈!):)
该规范假设控制台基于TextConsole,这似乎是合理的,它说:
支持正则表达式匹配和超链接的抽象文本控制台。
模式匹配侦听器可以通过控制台或通过org.eclipse.ui.console.consolePatternMatchListeners 扩展点进行注册。
我做了一些查找,该扩展点的规范具有以下示例:
<extension point="org.eclipse.ui.console.consolePatternMatchListener"> <consolePatternMatchListener class="com.example.ExampleConsolePatternMatcher" id="com.example.ExampleConsolePatternMatcher" regex=".*foo.*"> <enablement> <test property="org.eclipse.ui.console.consoleTypeTest" value="exampleConsole"/> </enablement> </consolePatternMatchListener> </extension>
您将需要IPatternMatchListenerDelegate的API,然后应该能够使用TextConsole.addHyperlink创建所需的链接。