0

Я создаю модуль NetBeans с несколькими службами (код помощь, проект, отладчик и т.д.)NetBeans - TaskFactory (Синтаксический API) не работает, если ProjectFactory (Project API) был зарегистрирован

Я заметил что после того, как я зарегистрировал свой ProjectFactory с помощью аннотации @ServiceProvider, TaskFactory, зарегистрированная аннотацией @MimeRegistration, перестает работать. То есть его единственный метод create(Snapshot snapshot) для создания задач синтаксического анализа, например ParserResultTasks для аннотаций ошибок, больше не вызывается, поэтому не выполняется синтаксический анализ.

Однако, как только я вызываю синтаксический анализатор явно, например. через ParserManager.parse в CompletionProvider все работает снова. Кроме того, я должен, вероятно, отметить, что реализация проекта, редактора и анализатора находится в отдельных модулях.

Есть ли еще что я должен обратить внимание, если ProjectFactory и TaskFactory используются вместе? Возможно, добавление TaskFactory к поиску проекта?

Update

Все вдруг все работает. Я не знаю, в чем проблема, возможно, регистрация META не была загружена правильно после внесения изменений? Я не знаю. Но теперь все, кажется, делает то, что оно должно делать.

Я по-прежнему открыт для возможных предложений, где все может пойти не так, когда вы используете API, как проект, так и парсинг вместе (если это вообще было проблемой).

Update2

Нет, это не работает. Относится к отчету об ошибке, см. https://netbeans.org/bugzilla/show_bug.cgi?id=230558

+0

Да, похоже, что Clean/Build All позаботился о создании записей файла слоя в одном из ваших модулей. Я бы порекомендовал просить «возможные предложения, в которых все может пойти не так ...» на форуме пользователей платформы NetBeans. http://forums.netbeans.org/platform-users.html –

+0

@JonathanSpooner Мне жаль, что это было, к сожалению, это не так. См. Мой Update2. – bcause

ответ

0

Хорошо, оказывается, это была ошибка, но она исправлена.

Просмотреть всю историю свыше here.