Кажется, у меня проблема с сопоставлением маркера проблемы с ресурсом;в моем случае я пытаюсь создать маркер проблемы для редактора.
Чтобы добиться этого, я попытался сделать следующее:
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 () продолжает возвращать ноль.Я предполагаю, что я не вызываю это в правильном местоположении.Я подумал, что было бы идеально создать маркер после настройки редактора, но это доказывает обратное.
Есть ли у кого-нибудь совет по получению нужного ресурса, который я хочу, чтобы я мог создать маркер проблемы?Я хотел бы показать ошибки и тому подобное в редакторе.
Я посмотрел примеры в Интернете для создания маркера, но большинство просто показывают методы, которые передают объект ITextEditor, не показывая, где находится вызов метода.(например: Создание маркера ошибки для компилятора - см. метод reportError )
Спасибо.Paul
Редактировать: Я также просмотрел следующую ссылку, касающуюся маркеров проблем, но опять-таки он вызывает createMarker из ресурса (в данном случае res), но не показывает его настройки.См. Отображение синтаксических ошибок в плагине редактора Eclipse