У меня проблемы с обновлением "старого" плагина Eclipse. Вот что я хотел бы сделать и что сделал оригинальный плагин:
(разобрать вывод компилятора на консоли с именем файла и информацией об ошибке -> все еще работает)
-> установить ссылку на местоположение в файле
-> установить маркер на место в файле
То, что я делал в прошлом, было получить IFile из строки пути файла и сгенерированной ссылки и маркера из него:
IFile ifile;
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IPath path = new Path(fileName);
IFiles[] files = workspace.getRoot().findFilesForLocation(path);
...
ifile = iFiles[0];
Map attributes = new HashMap();
attributes.put(IMarker.SEVERITY, new Integer (severity));
MarkerUtilities.setLineNumber(attributes, lineNumber);
MarkerUtilities.setMessage(attributes, message);
MarkerUtilities.createMarker(ifile, attributes,
IMarker
Поскольку findFilesForLocation устарела, я попытался найти другой путь, но у меня ничего не получилось. Использование измененного кода для получения IFile всегда приводит к исключению: org.eclipse.core.internal.resources.ResourceException: Ресурс '/path/to/file.c' не существует.
Возможно ли, что это связано с тем, что исходный файл связан только с проектом, а не физически внутри проекта?
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IPath location = new Path(fileName);
IFile ifile = workspace.getRoot().getFile(location);
Может кто-нибудь помочь?
Спасибо!