代码之家  ›  专栏  ›  技术社区  ›  Simon Groenewolt

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

  •  9
  • Simon Groenewolt  · 技术社区  · 15 年前

    模式如下:

    <

    用正则表达式来检测这些消息应该不难。

    如何让eclipse识别新类型的错误消息?我是否必须编写自己的扩展,或者是否有一些通用支持,我可以在配置中添加一个正则表达式?

    4 回复  |  直到 15 年前
        1
  •  8
  •   Kothar    15 年前

    Sunshade Errorlink (向下滚动一点)。我不确定这到底有多灵活,但它提到了ant支持。


    我知道你可能想要一个实际的实现,但这里是一个粗略的起点,为你想要的插件设计。如果有人想实现它,请在这里放一个链接指向它。如果我有空闲时间,我可能自己做(哈!):)

    假设控制台基于TextConsole,这似乎是合理的 spec 说:

    超链接。

    模式匹配侦听器可以通过编程方式在控制台中注册 或者通过 org.eclipse.ui.console.consolePatternMatchListeners 扩展点。

    我又看了一眼,然后 spec for that extension point 具有以下示例:

    <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 然后你就可以使用 TextConsole.addHyperlink

        2
  •  7
  •   hinneLinks    9 年前

    @zvikico让我对Grep控制台进行了更多的研究——它可以设置成可点击的链接!

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

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

    1. 安装Grep控制台(我使用的是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. 选择文件或URL

    4. 在文件/URL的输入字段中,使用 {line} {1} 第一组。Grep控制台将使用该值。

    5. (可选)创建类似蓝色下划线的样式,以便突出显示链接

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

    见: Styles & Links Pattern Strings 文件的编制

        3
  •  2
  •   mjwach    10 年前

    几年后,我提出了这个问题,想用EclipseCDT做这种事情。Sunshade Errorlink在我的Eclipse版本(即4.4.0)中似乎不起作用。因此,我创建了一个简单且不专业的插件,它似乎能充分解决我的问题。我已经将其放在GitHub上,以防其他人可能想省去类似的麻烦,或者使用我的代码作为参考: https://github.com/mjwach/ErrorLinkyThing

        4
  •  1
  •   zvikico    15 年前

    Grep Console 插件将完全做到这一点。