Eclipse CDT自定义编译器错误解析插件

我在Eclipse CDT中使用了一个不常见的C编译器。 我有一个make文件设置很好,但我想IDE集成我的编译器的错误/警告输出。

有谁知道我可以采取哪些步骤来编写解析/支持我的编译器输出的插件? 我认为它应该很容易,但是有一个障碍,可以找出从哪里开始。 如果Eclipse会让我做New – > Compiler Error Parser Plugin,或类似的东西会很好。

谢谢

它不是那么简单……

首先确保安装了Eclipse PDE(插件开发环境)和CDT SDK。 如果没有,那么你需要告诉Eclipse下载它们(帮助 – >安装新软件)。

然后,创建一个新的Plug-In项目。 在其Extensions选项卡中,针对point org.eclipse.cdt.core.ErrorParser添加新扩展。 然后,您必须编写一些Java代码来实际实现它。 幸运的是,PDE使元工作相对简单; 您将类的名称放在相应的框中,然后单击“class *”超链接,它将为您创建一个框架类。

我建议你抓住CDT的源代码,看看GCCErrorParser.java,看看你需要做的各种事情。

最后,当您准备测试它时,请设置Eclipse Application类型的调试配置。 (这将生成Eclipse的第二个实例;它必须使用不同的工作台。)进入C项目的属性,Settings面板,Error Parsers选项卡并打开shiny的新错误解析器。

在Eclipse CDT 7.0.1中,它非常简单。 只需在Window – > Preferences – > C / C ++ Build – > Settings下添加一个新的错误解析器,并添加包含3组的正则表达式:filename,linenumber和error description。

例如,对于Visual Studio编译器,regexp将是:

(.*?)\((\d*)\)\s:\s(.*error.*) $1 - filename $2 - line number $3 - error description 

在CDT 7中将包含一个正则表达式错误解析器,它应该使这类事情变得更加简单。 关于常见问题的一些细节。

CDT 7.0将在6月底之前发布,但您可以尝试使用里程碑版本来查看它是否符合您的要求。 这些可以在这里下载。 你也需要有一个匹配的里程碑版本的eclipse平台。

这管用吗 ?

 (.*)\((\d+)\)\s:\sError(.*) 

文件:$ 1行:$ 2 desc:$ 3

。 srkos

IBM已经发布了有关如何编写自己的CDT解析器的分步指南,可在此处获得

在CDT 8中,此function不需要插件。 我支持几个编译器并使用简单的正则表达式构建系统。 在此处查看截图。 您可以直接在控制台输出中测试正则表达式,然后再将它们复制到此对话框中。 如果需要在机器之间移动它们,生成的解析器将存储在.metadata / .plugins / org.eclipse.cdt.core下的工作空间中