2017-08-02 31 views
0

我寫了一個執行語法檢查的eclipse編輯器,如果它發現一個錯誤,它會顯示它在編輯器中。顯示錯誤標記爲外部資源

目前我通過在各自IResource創建一個標記這樣做,並且運作良好,直到用戶使用File -> Open File...選項,以便打開與編輯非項目文件。

的問題是,EditorInput不再是IFileEditorInput(這是一個FileStoreEditorInput),讓我找回通過getFile()的連接IResource(關於這一點我可以通過createMarker()添加標記)。事實上,核心問題是選定的文件根本不是IResource(至少這是我猜測的,因爲它不在eclipse工作區中)。

是否有另一種在編輯器中顯示錯誤標記的方法?它不需要是可節省的或任何東西......只是告訴編輯在源代碼中創建相同標記的方式,就好像IMarker連接到打開的IResource

+0

假設這是一個基於標準TextEditor的文本編輯器,我認爲你需要替換Annotation Model來使用ResourceMarkerAnnotationModel以外的其他東西。 –

+0

Uff,聽起來像很多工作......是不是有某種默認切換到? – Raven

+0

我不這麼認爲。在工作空間外進行操作的編輯不常見,也沒有太多的支持。 –

回答

0

好的事情是,我實際上正在尋找在DocumentProviderAnnotationModel中創建Annotation。在那裏它可以通過addAnnotation添加。

這種方法工作正常。然而,我還沒有找到可用的註釋類型列表(因爲有標記),所以實際上得到正確的註釋有點棘手......