Javadoc 加载减慢了 Eclipse
Javadoc loading slows down Eclipse
每当加载 JavaDoc 工具提示时
a) 将光标悬停在对象上
b) 或使用代码助手(自动完成)
我最多需要 1 秒才能继续打字。它不会在启动后立即发生,而是在使用 STS/Eclipse 一段时间后发生。然后我必须重新启动它才能解决问题。
我还注意到 CPU 使用率很高 (25%),即使 STS 运行 在后台,也没有被使用。
已记录以下错误:
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.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.run(TextViewerHoverManager.java:169)
我已经尝试过的:
我已经禁用 "Preferences/Java/Editor/Hovers" 下的 "Combined Hover" 解决了问题 a).
我在 "Preferences/Maven/Download Artifact Javadoc" 下启用。所有 Javadoc 都应该可以离线使用,因此加载速度极快。但是加载速度很慢。
输入和使用代码助手时常量 freezing/loading 仍然很烦人。
有没有办法禁用内容助手的javadoc?或者是否有任何解决方法来加快 JavaDoc 加载时间?我无法解释为什么显示 javadoc 工具提示要花这么多时间。它从哪里加载?如果它是离线加载的,它应该会加载得很快。
我正在使用基于 Eclipse Platform v4.13.0 和 OpenJ9 JDK11 的 STS v4.4。
似乎 Language Server
正在减慢代码完成速度。我禁用了 "Preferences / Language Servers" 下的 Language Server
。打字时的冻结消失了。
一旦我能 100% 确认这就是冻结的原因,我就会提交错误报告。
每当加载 JavaDoc 工具提示时
a) 将光标悬停在对象上
b) 或使用代码助手(自动完成)
我最多需要 1 秒才能继续打字。它不会在启动后立即发生,而是在使用 STS/Eclipse 一段时间后发生。然后我必须重新启动它才能解决问题。
我还注意到 CPU 使用率很高 (25%),即使 STS 运行 在后台,也没有被使用。
已记录以下错误:
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.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.run(TextViewerHoverManager.java:169)
我已经尝试过的:
我已经禁用 "Preferences/Java/Editor/Hovers" 下的 "Combined Hover" 解决了问题 a).
我在 "Preferences/Maven/Download Artifact Javadoc" 下启用。所有 Javadoc 都应该可以离线使用,因此加载速度极快。但是加载速度很慢。
输入和使用代码助手时常量 freezing/loading 仍然很烦人。
有没有办法禁用内容助手的javadoc?或者是否有任何解决方法来加快 JavaDoc 加载时间?我无法解释为什么显示 javadoc 工具提示要花这么多时间。它从哪里加载?如果它是离线加载的,它应该会加载得很快。
我正在使用基于 Eclipse Platform v4.13.0 和 OpenJ9 JDK11 的 STS v4.4。
似乎 Language Server
正在减慢代码完成速度。我禁用了 "Preferences / Language Servers" 下的 Language Server
。打字时的冻结消失了。
一旦我能 100% 确认这就是冻结的原因,我就会提交错误报告。