我似乎遇到了將問題標記與資源關聯的問題;在我的情況下,我試圖爲編輯器創建一個問題標記。插件開發:爲特定資源創建問題標記
要做到這一點,我已經盡力做到以下幾點:
public class MyEditor extends TextEditor{
private ColorManager colorManager;
public MyEditor() {
super();
...
IResource resource = (IResource) getEditorInput().getAdapter(IResource.class);
try
{
marker = resource.createMarker(IMarker.PROBLEM);
}
catch (CoreException e)
{
e.printStackTrace();
}
}
然而,問題是getEditorInput()不斷返回null。我想我不是在正確的位置叫它。我認爲一旦我設置編輯器就可以創建標記,但是這證明不是。
有沒有人有任何建議來獲得我想要的適當資源,以便我可以創建問題標記?我想在編輯器中顯示錯誤等。
我已經在線查看了創建標記的示例,但大多數只是顯示傳遞ITextEditor對象而不顯示方法調用的方法。 (例如:Creating Error Marker for Compiler -- see reportError method)
謝謝。 Paul
編輯: 我也查看了以下有關問題標記的鏈接,但它再次從資源(res,在本例中爲res)調用createMarker,但不顯示其設置。 從Action
對象的run()
方法見Show Syntax Errors in An Eclipse Editor Plugin
工作完美,謝謝! 所以我假設我之前變得空了,因爲它太早調用getEditorInput()了? – 2010-06-21 08:55:20
對不起,我這麼晚迴應... 你以爲...你在init(...)方法之前調用getEditorInput,初始化輸入 – dpndeveloper 2010-07-30 13:47:08