将python的默认错误语法解析为Visual Studio的错误窗口语法

时间:2012-01-18 12:46:07

标签: python

我已经使用MSVC2010一段时间了,现在结合Python Tools 1.0

我目前正在开发一个python项目,我的解决方案如下:

解 - Pyproj - EmptyTestRunner

pyproj包含一个运行我所有测试的MainTest.py文件, EmptyTestRunner只是一个空项目,有一个运行MainTest.py的“Post-Build”动作(因此每当我“重新构建”时,运行我的python代码中用PyUnit编写的所有测试)

我的问题是运行python文件,它会产生正常的python输出 - 因为我将它作为构建后事件运行,所以将它引用到MSVC输出窗口。 MSVC2010无法将此输出识别为“编译/链接器”错误(例如,在我的python代码中引发异常时未捕获),因此它不会将其添加到错误窗口。

有没有这样的工具? 是否有传递给python.exe的标志可以做到吗?

我用thogle搜索了这个主题,但发现没有任何类似的内容。

我只是简单地编写一个python脚本,将我的pyproj的输出重新格式化为msvc格式。

事先得到任何帮助!

1 个答案:

答案 0 :(得分:0)

我用Visual Studio 9(2008)完成了这个,所以我不知道这个技巧是否适用于2010,但无论如何:输出窗口和VS中的错误管理器之间的链接是自动的。它所期望的只是形式的一行:

path\to\file\name(lineno) : error : text of the error

e.g。

c:\dev\myfile.ext(17) : error : 'foo' is not a valid configuration directive

如果您的脚本以某种方式读取配置文件。

然后,当您双击此行时,它会在指定的行打开文件。错误消息(此处的“错误文本”)也出现在错误列表窗口中。

脚本输出的所有其他行(如果它们没有这种格式)不受影响,因此您可能会在神奇的行之后抛出冗长的解释 - 正如C ++编译器对模板错误所做的那样。

您是否选择修改脚本以将Python错误转换为VS兼容格式或使用包装脚本是您的决定 - 我赞成第一个,因为您可以捕获__main__函数中的所有错误和VS打印它们(假设您之后仍然可以打印完整的Python跟踪)。