Откройте файл XML в Eclipse по определенному номеру строки - PullRequest
0 голосов
/ 27 апреля 2018

Я пишу затмение, и мне нужно открыть файл XML по определенному номеру строки (где ошибка).

Я следовал принятому ответу на этот вопрос , и он действительно работает ... с нежелательным побочным эффектом генерации resourceChanged () событий в моем FileSystemChangesListener слушателе.

Есть ли способ перехода к определенной строке без внесения изменений в файл? Эти события запускают другие исполнения в плагине.

Я попытался добавить параметр 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 () .

1 Ответ

0 голосов
/ 27 апреля 2018

Вызов IFile.createMarker генерирует событие изменения ресурса, вы не можете предотвратить это.

Однако вы можете определить, что это событие создания маркера в IResourceData, который вы получаете - у метода getFlags() будет установлен флаг IResourceData.MARKERS.

Обратите внимание, что дельты ресурсов могут быть объединены, поэтому может быть установлено несколько флагов - например, если установлено IResourceDelta.CONTENT, содержимое файла также изменилось.

...