Pull to refresh

Comments 6

RequirejsLookupElement — лишний класс.

Посмотрите com.intellij.codeInsight.lookup.LookupElementBuilder

Спасибо за наводку.
Действительно было не обязательно создавать свой LookupElement. Добавлю в статью как это выглядит с использованием билдера.
Я откоментрировал пару строк. По мелочам. Будет время форкнуть плагин, опишу поправки свои — если они будут. Только форк уже в Идеи не получится потестить)
Такс, после детального просмотра — есть замечания.

Тот resolving к файлу который у вас всегда создается в RequirejsPsiReferenceProvider, нужно вынести в отдельный manager.

В нем не использовать настолько прямое хранения ссылки к VirtualFIle, потом что файл может быть удален, и будет AssertError.

Мы используем com.intellij.psi.util.CachedValuesManager#createCachedValue

Ко второму — не используем Static переменные, делаем ApplicationService.

Если чтото ещё будет, я напишу
Ах да что я забыл — я незнаю наскок реально, но как вариант я думаю лучше использовать com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReferenceSet для поиска по файловой системе
Sign up to leave a comment.

Articles