Загрузка Javadoc замедляет Eclipse - PullRequest
       22

Загрузка Javadoc замедляет Eclipse

0 голосов
/ 23 сентября 2019

Всякий раз, когда всплывающая подсказка JavaDoc загружается при

a) наведении курсора на объект

b) или использовании помощника по коду (автозаполнение)

, это занимает до1 секунду, пока я не смогу продолжить печатать.Это происходит не сразу после запуска, а после использования STS / Eclipse в течение некоторого времени.Затем мне нужно перезапустить его снова, чтобы избавиться от проблемы.

Что я также заметил, так это высокая загрузка ЦП (25%), даже если STS работает в фоновом режиме и не используется.

STS CPU usage idle

Следующие ошибки были зарегистрированы:

java.lang.InterruptedException
        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:347)
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
        at org.springframework.tooling.boot.ls.jdt.LSPTextHover.getHoverInfo(LSPTextHover.java:109)
        at org.springframework.tooling.boot.ls.jdt.SpringBootJavaHoverProvider.getHoverInfo2(SpringBootJavaHoverProvider.java:42)
        at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:167)
        at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:133)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:89)
        at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:169)



!ENTRY org.eclipse.jface.text 4 0 2019-09-24 11:14:07.629
!MESSAGE Unexpected runtime error while computing a text hover
!STACK 0
java.lang.NullPointerException
        at org.eclipse.jdt.internal.compiler.lookup.UnresolvedAnnotationBinding.resolve(UnresolvedAnnotationBinding.java:34)
        at org.eclipse.jdt.internal.compiler.lookup.UnresolvedAnnotationBinding.getAnnotationType(UnresolvedAnnotationBinding.java:41)
        at org.eclipse.jdt.core.dom.MethodBinding.filterTypeAnnotations(MethodBinding.java:227)
        at org.eclipse.jdt.core.dom.MethodBinding.getAnnotations(MethodBinding.java:116)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getAnnotations(JavadocHover.java:1192)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.addAnnotations(JavadocHover.java:1149)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:757)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:678)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:670)
        at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:167)
        at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:133)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:89)
        at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:169)

Что я уже пробовал:

Я уже отключил "Комбинированное наведение"в «Предпочтения / Java / Редактор / Наведение», которые решили проблему a).

Я включил в «Предпочтения / Maven / Загрузить артефакт Javadoc».Все Javadocs должны быть доступны в автономном режиме и, следовательно, загружаться очень быстро.Но они загружаются медленно.

Постоянное замораживание / загрузка при наборе текста и использовании помощника по коду все еще раздражает.

Есть ли способ отключить Javadoc для помощника по содержимому?Или есть ли способ обойти загрузку JavaDoc?У меня нет объяснения, почему для отображения всплывающей подсказки Javadoc требуется так много времени.Откуда он загружается?Если он загружен в автономном режиме, он должен загружаться быстро.

Я использую STS v4.4, который основан на Eclipse Platform v4.13.0 с OpenJ9 JDK11.

1 Ответ

0 голосов
/ 24 сентября 2019

Кажется, что Language Server замедляет завершение кода.Я отключил Language Server в разделе «Настройки / Языковые серверы».Замораживание во время набора текста прошло.

Я сделаю отчет об ошибке, как только смогу на 100% подтвердить, что это причина зависания.

...