我似乎遇到了将问题标记与资源关联的问题;在我的情况下,我试图为编辑器创建一个问题标记。插件开发:为特定资源创建问题标记
要做到这一点,我已经尽力做到以下几点:
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