Eclipse控制台:检测警告和错误模式并使其可单击

Sim*_*olt 9 eclipse console design-patterns

对于我们的一些构建,我在eclipse中运行来自ant的flex编译器(mxmlc)(它们也意味着在我们的持续集成服务器上运行,这就是我不使用flex builder本身构建的原因) - 模式eclipse-console无法识别mxmlc,因此我无法点击它们.

模式是这样的:

<文件的绝对路径>(<行号>):col:<列号>警告:<消息>

提出检测这些消息的正则表达式应该不难.

如何让eclipse识别出一种新的错误信息?我是否必须编写自己的扩展程序,或者是否有一些常规支持我可以在配置中添加正则表达式?

我也可以尝试让ant将错误转换为看起来像java错误的东西,但我宁愿让eclipse识别mxmlc错误.

Mik*_*ton 8

编辑: 我找到了一个插件来执行此更多看: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>
Run Code Online (Sandbox Code Playgroud)

您需要IPatternMatchListenerDelegate的API,然后您应该能够使用TextConsole.addHyperlink来创建所需的链接.


hin*_*nks 6

@zvikico让我更多地研究Grep控制台 - 它可以设置为可点击链接!

当前链接:http://marian.schedenig.name/projects/grep-console/ - 您可以使用Eclipse-Marketplace安装它

要获得可点击的链接,必须执行以下操作:

  1. 安装Grep Console(我使用的是3.7.0)
  2. (?)为您的文件/ URL 添加一个新的表达式(控制台视图中的图标),确保您的正则表达式仅捕获文件/链接,或者您有一个捕获组()以仅匹配文件/链接

    FFDC-Vorfall an (.*\.txt)

    将匹配像这样的控制台输出:

    FfdcProvider logIncident FFDC1003I: FFDC-Vorfall an C:\server1_e2f9557d_16.01.20_12.54.37.4484801293756887191925.txt erstellt.

  3. 在此表达式的"样式和链接"选项卡中,双击"整行"或"捕获组"的"链接"单元格.

  4. 选择文件或URL

  5. 在文件/ URL的输入字段中使用{line}{1}使用第一个组.然后Grep Console将使用该值.

  6. (可选)使用蓝色下划线样式,以便突出显示链接

  7. 要打开文件/链接,您必须按住CTRL键(可以在选项中更改),然后单击它

请参阅:文档的样式和链接以及模式字符串