2010-07-08 56 views
3

我從以前的問題有很多想法(How to display an error sign on the Package when the Package has wrong information?如何正確顯示問題標記?它不顯示文本編輯器和問題視圖

但是問題標記不顯示。

我感興趣的資源是一個XML文件。

所以我增加了一個偵聽PRE_BUILD,使用下面的代碼:

addResourceChangedListener(xxx, IResourceChangeEvent.PRE_BUILD) 

它工作正常。現在我試圖添加一個問題標記。

IMarker marker = file.createMarker(PROBLEM_ID); 
marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR); 
marker.setAttribute(IMarker.MESSAGE, "Error Message"); 
marker.setAttribute(IMarker.CHAR_START, 5); 
marker.setAttribute(IMarker.CHAR_END, 6); 
marker.setAttribute(IMarker.LINE_NUMBER, 5); 

上面的代碼被執行。但問題標記未顯示在編輯器和問題視圖中。 如何正確顯示問題標記?

+0

感謝這對我來說也是同樣的問題! – 2012-01-04 14:49:39

回答

2

如果您在IResourceChangeEvent.PRE_BUILD上添加標記,我可以想象問題是在構建之前,所有標記都會被清除 - 因此您的新標記可能會立即被清除,因此您甚至不會看到它們。我試試IResourceChangeEvent.POST_BUILD

另外,創建標記時是否使用了正確的問題ID?因爲在你的代碼中你使用createMarker(PROBLEM_ID),而不是createMarker(IMarker.PROBLEM)

+0

感謝您的回覆。我也使用'POST_BUILD'。我從一開始就着眼於這個問題。最後我得到了問題標記。原因是代碼中的「PROBLEM_ID」。與擴展的id不同。無論再次感謝您的回覆。 – cnook 2010-07-09 02:08:51