Задержки редактора Java STS4 - Уведомления о пути к классам - PullRequest
0 голосов
/ 14 марта 2019

Я использую STS 4.1.2 с Eclipse 4.10.0.

Когда я редактирую файл .java, через несколько секунд вся среда STS зависает (включая элементы меню и т. Д.). Через несколько секунд он возобновляется, и все, что я набрал / удалил, появляется в редакторе. Это делает программу практически непригодной для редактирования Java.

Я включил мониторинг реагирования пользовательского интерфейса и вижу, что когда начинается задержка, в журнале ошибок появляются следующие строки

Preparing classpath changed notification some.project.name
exists = true open = true => deleted = false
classpath=236 entries
executing callback sts4.classpath.QQTdTYfA some.project.name false 236
executing callback sts4.classpath.QQTdTYfA FAILED

Я получаю несколько таких случаев с изменением количества записей (236 выше), например, 209, 168, а также суффикс classpath, например QQTdTYfA.

Я получил по крайней мере 10 из этих случаев, но я не уверен, как расширить Журнал ошибок, чтобы показать мне больше.

Даже добавление или удаление одного символа, например, точка с запятой в конце строки вызывает эти множественные вхождения и задержку.

Существует также эта трассировка стека, выводимая в журнал ошибок при запуске мониторинга отзывчивости интерфейса:

Stack Trace
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1695)
    at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
    at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1775)
    at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
    at org.eclipse.lsp4e.LanguageServerWrapper.stop(LanguageServerWrapper.java:350)
    at org.eclipse.lsp4e.LanguageServerWrapper.disconnect(LanguageServerWrapper.java:509)
    at org.eclipse.lsp4e.LanguageServerWrapper.stop(LanguageServerWrapper.java:363)
    at org.eclipse.lsp4e.LanguageServerWrapper.start(LanguageServerWrapper.java:184)
    at org.eclipse.lsp4e.LanguageServerWrapper.getInitializedServer(LanguageServerWrapper.java:562)
    at org.eclipse.lsp4e.DocumentContentSynchronizer.documentChanged(DocumentContentSynchronizer.java:89)
    at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged2(AbstractDocument.java:747)
    at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:716)
    at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:700)
    at org.eclipse.jface.text.AbstractDocument.fireDocumentChanged(AbstractDocument.java:774)
    at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1105)
    at org.eclipse.core.internal.filebuffers.SynchronizableDocument.replace(SynchronizableDocument.java:176)
    at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1123)
    at org.eclipse.core.internal.filebuffers.SynchronizableDocument.replace(SynchronizableDocument.java:164)
    at org.eclipse.jface.text.projection.ProjectionTextStore.replace(ProjectionTextStore.java:106)
    at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1098)
    at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1123)
    at org.eclipse.jface.text.projection.ProjectionDocument.replace(ProjectionDocument.java:628)
    at org.eclipse.jface.text.DefaultDocumentAdapter.replaceTextRange(DefaultDocumentAdapter.java:236)
    at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:7390)
    at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:8254)
    at org.eclipse.swt.custom.StyledText.doContent(StyledText.java:2502)
    at org.eclipse.swt.custom.StyledText.handleKey(StyledText.java:6038)
    at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:6069)
    at org.eclipse.swt.custom.StyledText.lambda$1(StyledText.java:5767)
    at org.eclipse.swt.custom.StyledText$$Lambda$329/1187280528.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1064)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1106)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1102)
    at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1489)
    at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4888)
    at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:353)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4768)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:348)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4770)
    at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3545)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
    at org.eclipse.ui.internal.Workbench$$Lambda$21/510207317.run(Unknown Source)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1501)

в STS 3, те же проекты позволяют редактировать без проблем.

Кто-нибудь имеет опыт решения этой проблемы и / или есть какие-либо предложения по решению?

Спасибо.

...