亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

容易出錯的問題可以自動應用建議的修復嗎?

容易出錯的問題可以自動應用建議的修復嗎?

人到中年有點甜 2023-05-10 16:25:39
從我讀到的關于 Error Prone 的內容來看,我發現它實際上會建議修復代碼中的樣式錯誤。即來自https://errorprone.info/docs/installation:ERROR: example/myproject/BUILD:29:1: Java compilation in rule '//example/myproject:hello'examples/maven/error_prone_should_flag/src/main/java/Main.java:20: error: [DeadException] Exception created but not thrown    new Exception();    ^    (see http://errorprone.info/bugpattern/DeadException)  Did you mean 'throw new Exception();'?1 error我沒有看到的是,是否有辦法自動應用這些建議的更改。我從命令行運行時容易出錯。任何幫助表示贊賞!如果我能澄清任何事情,請告訴我。
查看完整描述

2 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

沒有辦法直接自動應用它們。

但是,您可以讓 Error Prone 吐出包含修復的補丁文件。參考補丁文檔:

要對 Error Prone 編譯器內置的檢查應用建議的修復,您將向編譯器調用添加兩個編譯器標志:

-XepPatchChecks:MissingOverride,DefaultCharset,DeadException
-XepPatchLocation:/full/path/to/your/source/root

...

您可以直接檢查補丁文件,并將其應用到您的源代碼中:

cd?/full/path/to/your/source/root
patch?-p0?-u?-i?error-prone.patch

(請注意關于這是實驗性的免責聲明)


查看完整回答
反對 回復 2023-05-10
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

雖然當前沒有記錄,但可以直接將建議的更改應用于受影響的源代碼。一個通過傳遞來做到這一點-XepPatchLocation:IN_PLACE

修改原始示例,調用變為:

-XepPatchChecks:MissingOverride,DefaultCharset,DeadException
-XepPatchLocation:IN_PLACE

強烈建議僅當原始文件由版本控制系統管理時才使用此功能。然后可以使用 eg 輕松檢查結果git diff并使用 eg 恢復結果git checkout -- .。


查看完整回答
反對 回復 2023-05-10
  • 2 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號