我寫了一個執行語法檢查的eclipse編輯器,如果它發現一個錯誤,它會顯示它在編輯器中。顯示錯誤標記爲外部資源
目前我通過在各自IResource
創建一個標記這樣做,並且運作良好,直到用戶使用File -> Open File...
選項,以便打開與編輯非項目文件。
的問題是,EditorInput
不再是IFileEditorInput
(這是一個FileStoreEditorInput
),讓我找回通過getFile()
的連接IResource
(關於這一點我可以通過createMarker()
添加標記)。事實上,核心問題是選定的文件根本不是IResource
(至少這是我猜測的,因爲它不在eclipse工作區中)。
是否有另一種在編輯器中顯示錯誤標記的方法?它不需要是可節省的或任何東西......只是告訴編輯在源代碼中創建相同標記的方式,就好像IMarker
連接到打開的IResource
。
假設這是一個基於標準TextEditor的文本編輯器,我認爲你需要替換Annotation Model來使用ResourceMarkerAnnotationModel以外的其他東西。 –
Uff,聽起來像很多工作......是不是有某種默認切換到? – Raven
我不這麼認爲。在工作空間外進行操作的編輯不常見,也沒有太多的支持。 –