2012-01-18 44 views
1

我一直使用MSVC2010了一段時間,現在用Python的工具組合1.0解析python的默認錯誤語法的Visual Studio的錯誤窗口語法

我目前工作的一個Python項目,我的解決辦法是這樣的:

解決方案 - pyproj - EmptyTestRunner

的pyproj包含運行了所有的考試, 的EmptyTestRunner只是與運行MainTest.py一個「生成後」動作空項目MainTest.py文件(因此運行我寫的所有測試每當我「重新構建」我的python代碼中的n)

我的問題是,運行python文件,它會產生正常的python輸出它到MSVC輸出窗口。 MSVC2010不會將此輸出識別爲「編譯/鏈接器」錯誤(例如,當我的python代碼中未引發異常時),因此它不會將其添加到錯誤窗口中。

有沒有一個工具,已經這樣做? 是否有傳遞給python.exe的標誌可以做到這一點?

我已經搜索了主題throghouly,但沒有發現類似它。

我即將只是寫一個python腳本,它會將我的pyproj的輸出重新格式化爲msvc格式。

thx提前任何幫助!

回答

0

我已經使用Visual Studio 9(2008)完成了這項工作,所以我不知道2010年的技巧是否有效,但無論如何:VS中的輸出窗口和錯誤管理器之間的鏈接是自動的。它所期望的是一行表格:

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

例如,

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

如果您的腳本以某種方式讀取配置文件。

然後當你雙擊這一行時,它會在指定的行打開文件。錯誤消息('錯誤文本')也出現在錯誤列表窗口中。

腳本輸出的所有其他行(如果它們沒有這種格式的話)都不會受到影響,因此您可以在魔術線之後拋出冗長的解釋 - 就像C++編譯器爲模板錯誤所做的一樣。

無論您選擇修改腳本以將Python錯誤轉換爲VS兼容格式還是使用包裝腳本都是您的決定 - 我傾向於第一個腳本,因爲您可以捕獲__main__函數中的所有錯誤,而VS - 打印它們(假設您仍然可以在之後打印完整的Python跟蹤)。

+0

Thx的語法幫助!所以你的答案是python中沒有模塊已經做了這個解析?我一定會選擇第一個選擇,然後我會在Python工具網站上提出一些建議。 – user1156223 2012-01-19 08:23:14

+0

不客氣。但是我不知道這個模塊是否已經存在於Python工具中的VS.所以是的,也許他們可以提供一些見解。如果他們這樣做,歡迎您在這裏發表評論,以便我們爲未來的讀者更新答案。 – Tibo 2012-01-19 10:59:53