2016-03-12 31 views
1

如何使用正則表達式將構建中的這個錯誤與result_line_regex & result_file_regex找到行和文件?如何匹配Sublime Text 3中的行和錯誤?

project4.dpr(9) Hint: H2164 Variable 'I' is declared but never used in 'Project3' 

我試過這個,但它不會工作。

"result_file_regex": "^.*\\(.*)/.?(.*)$", 
    "result_line_regex": "^([^\\]*)\.(\w+)$", 
+0

'result_line_regex'和'result_file_regex'是結果視圖中的設置,而不是您寫入構建系統的條目。我認爲你可以添加諸如'「file_regex」:「^([\ w \。] +)\((\ d +)\)」'。第一組是文件名,第二組是行號。 (這可能是有問題的,它只是文件名而不是文件路徑。) –

+0

該正則表達式在ST3中不起作用。 \ – user6033608

+0

以上的紅色您是否嘗試過實際運行構建系統? – MattDMo

回答

1

正如評論已經提到,file_regex是獲取傳遞給result_line_regex設置(看看在Packages/Default/exec.py中的class ExecCommandrun()方法簽名)。

在你的情況下,一個好的正則表達式將是^([\w-]+\.\w+)\((\d+)\)。第一組捕獲類似my-file.ext的東西,第二組包括括號中的數字。

爲了設置該表達式在字符串中的json文件,你需要逃避與另一個反斜槓每個反斜槓(\是在字符串中使用轉義字符),因此它成爲:

"file_regex": "^([\\w-]+\\.\\w+)\\((\\d+)\\)" 

注意,匹配的文件必須位於觸發構建系統時處於活動狀態的文件的路徑中。如果你希望它是相對於一定的路徑無論你在哪裏觸發身材,你也可以通過類似的工作目錄:

"working_dir": "/path/to/my/source" 

這將被設置爲輸出視圖result_base_dir

相關問題