Java Eclipse标记是不可见的
在添加自定义eclipse标记时,我遇到了一个奇怪的问题。场景是,在添加标记时,当资源(我需要添加标记)打开时,标记图标可见。但如果资源未打开,则会添加标记,但图标不可见 下面是我正在使用的一段代码Java Eclipse标记是不可见的,java,eclipse,eclipse-plugin,eclipse-rcp,Java,Eclipse,Eclipse Plugin,Eclipse Rcp,在添加自定义eclipse标记时,我遇到了一个奇怪的问题。场景是,在添加标记时,当资源(我需要添加标记)打开时,标记图标可见。但如果资源未打开,则会添加标记,但图标不可见 下面是我正在使用的一段代码 <extension id="HighPriority" name="High Priority problem" point="org.eclipse.core.resources.markers"> <persi
<extension
id="HighPriority"
name="High Priority problem"
point="org.eclipse.core.resources.markers">
<persistent value="true">
</persistent>
<super type="org.eclipse.core.resources.problemmarker"/>
<super type="org.eclipse.core.resources.textmarker"/>
</extension>
<extension point="org.eclipse.ui.editors.annotationTypes">
<type
name="X.X.X.HighPriorityAnnotation"
super="org.eclipse.ui.workbench.texteditor.warning"
markerType="X.X.X.HighPriority"/>
</extension>
<extension point="X.X.X.markerAnnotationSpecification">
<specification
annotationType="X.X.X.HighPriorityAnnotation"
icon="icons\img.gif"
/>
</extension>
打开编辑器时,我还需要做其他事情吗
任何建议…?您可以将您的代码与发布在
旧bug(Eclipse3.1)的上下文与您的不一样,但可以给您一些关于尝试什么的线索或想法。
您使用的是什么Eclipse和Java版本 从该错误报告中摘录: 此代码也可以正常工作
IWorkspaceRoot root=ResourcesPlugin.getWorkspace().getRoot();
IMarker[]markers=root.findMarkers(IMarker.PROBLEM,false,IResource.DEPTH_ZERO);
for(int i=0;i
之前,我已将代码转储到操作中。但在我用一个项目建设者替换它之后,它开始工作了
我不知道哪里出了问题:) 大家好,我正在使用Eclipse3.5和JDK5。提供的代码u将向IWorkspaceRoot添加标记??但我想在特定文件中添加标记。我试过那个代码,但没用。。。我怀疑我在Plugin.xml中遗漏了什么…@VinAy:我提供的代码只是我在bug报告中找到的代码的一个副本,没有必要根据您的上下文进行修改。这只是希望能给你一个关于一些可能缺失的元素的想法。如果您找到其他详细信息,我很感兴趣;)
IMarker marker = markerNode.getTargetFile().createMarker(markerNode.getPriority().getMarkerName());
Map<String, Object> attributes = new HashMap<String,Object>();
attributes.put(IMarker.LINE_NUMBER, markerNode.getLineNumber());
attributes.put(IMarker.SEVERITY, Integer.valueOf(IMarker.SEVERITY_WARNING));
attributes.put(IMarker.MESSAGE, markerNode.getMessage());
attributes.put(IMarker.PRIORITY, Integer.valueOf(IMarker.PRIORITY_HIGH));
marker.setAttributes(attributes);
IDE.openEditor(this.getSite().getPage(), marker, OpenStrategy.activateOnOpen());
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IMarker[] markers = root.findMarkers(IMarker.PROBLEM, false, IResource.DEPTH_ZERO);
for (int i = 0; i < markers.length; i++) {
String message = (String) markers[i].getAttribute(IMarker.MESSAGE);
if (message != null && message.startsWith("this is a test")) {
markers[i].delete();
}
}
//IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
Map attribs = new HashMap();
for (int i = 0; i < 8; i++) {
attribs.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
attribs.put(IMarker.MESSAGE, "this is a test " + i);
attribs.put("bogus field", "some text");
MarkerUtilities.createMarker(root, attribs, IMarker.PROBLEM);
}