2013-04-08 175 views
0

在一個鏈接的錯誤的自動處理,我可以提出適當的診斷(說MyDSL.MY_APPROPRIATE_DIAGNOSTIC),然後通過這種方式註釋寫在MyDSLQuickfixProvider,因爲它速戰速決:錯誤/警告

@Fix(MyDSL.MY_APPROPRIATE_DIAGNOSTIC) 
public void fixMyAppropriateDiagnostic(final Issue issue, final IssueResolutionAcceptor acceptor) { 
    ... 
} 

如果我想自動解決診斷問題,即自動執行IModification而無需將其提交給用戶作爲快速修復(想象診斷的快速修復是獨特的),那麼該怎麼辦?

有沒有辦法以類似的方式將(即時)處理代碼與診斷進行關聯(用戶提出的)快速修復?

由於提前, 馬爾科

回答

0

沒有辦法設置爲自動執行速戰速決。您的選擇是:

  • 從代碼中的其他位置調用標記解析代碼。即雖然標記分辨率通常會根據用戶請求使用問題視圖,標尺按鈕和類似的用戶界面明確觸發,但您可以從從任何地方調用它們。確保你不會干擾不是來自你的插件的quickfix,並且確保你的用戶不會對這個非eclipse工作流感到驚訝。

  • 對於某些問題,您可以改爲創建代碼完成規則或模板。這些仍然不是完全按照要求自動執行的,但基本上,您可以以這種方式「更正」部分用戶輸入,並避免標記違反完整輸入。

+0

感謝您的回答,Bananeweizen。 :-) – user2258294 2013-04-10 09:26:29

+0

現在我的問題如下:如果我想調用標記解析代碼,當提出錯誤,並在編輯器中相應的源代碼加下劃線(代替這個),你有任何暗示我在哪裏可以掛鉤我的自動錯誤處理代碼? – user2258294 2013-04-10 09:30:03