【发布时间】:2018-10-08 12:57:41
【问题描述】:
我正在编写一个 Eclipse 插件,我需要在特定行号(错误所在)处打开一个 XML 文件。
我已经按照这个question 接受的答案,它确实有效......在我的FileSystemChangesListener 侦听器中生成 resourceChanged() 事件的不良副作用。
有没有一种方法可以在不改变文件的情况下跳转到特定的行?这些事件触发插件中的其他执行。
我尝试将TRANSIENT 参数添加为true 无济于事,如下所示:
HashMap<String, Object> map = new HashMap<String, Object>();
map.put(IMarker.LINE_NUMBER, lineNumber);
map.put(IMarker.TRANSIENT, true); // doesn't make any difference.
marker.setAttributes(map);
IDE.openEditor(page, marker);
仍然会生成 resourceChanged() 事件。
【问题讨论】:
-
IResourceDeltagetFlags调用将为IResourceDelta.MARKERS调用设置IResourceDelta.MARKERS标志 - 因此您可以识别并忽略它。 -
太棒了!谢谢,谢谢,谢谢,谢谢。我花了一整天的时间试图弄清楚这一点。
标签: java eclipse eclipse-plugin jface