当src文件成为焦点时,IntelliJ会不断编制索引

时间:2020-08-17 14:05:37

标签: intellij-idea

我的intellij行为很奇怪。 只要我关注* .java之类的src文件,它就会一直在尝试为我的项目重新编制索引。 任何项目都会发生这种情况。即使我有一个带有单个src文件的新项目。

我已将其重置为制造商状态,但仍尝试重新编制索引。

我在Ubuntu 18.04上

日志输出: 2020-08-18 05:02:02,004 [260523]信息-indexing.UnindexedFilesUpdater-未索引文件更新开始:0个文件建立索引 2020-08-18 05:02:02,602 [261121]信息-pl.ProjectRootManagerComponent-项目根目录已更改(已经使用trace_hash = 676357740报告了stacktrace) 2020-08-18 05:02:02,609 [261128]信息-.diagnostic.PerformanceWatcher-推送属性花费了3ms;总体反应能力:可以; EDT响应速度:好的

我在日志中发现了此异常,这似乎是根本原因

2020-08-18 05:11:52,721 [126435]信息-pl.ProjectRootManagerComponent-项目根目录已更改(trace_hash = 30135350) java.lang.Throwable 在com.intellij.openapi.roots.impl.ProjectRootManagerComponent.synchronizeRoots(ProjectRootManagerComponent.java:306) 在com.intellij.openapi.roots.impl.ProjectRootManagerComponent.fireRootsChangedEvent(ProjectRootManagerComponent.java:210) 在com.intellij.openapi.roots.impl.ProjectRootManagerImpl.fireRootsChanged(ProjectRootManagerImpl.java:428) 在com.intellij.openapi.roots.impl.ProjectRootManagerImpl.access $ 200(ProjectRootManagerImpl.java:37) 在com.intellij.openapi.roots.impl.ProjectRootManagerImpl $ BatchSession.rootsChanged(ProjectRootManagerImpl.java:96) 在com.intellij.openapi.roots.impl.ProjectRootManagerImpl.makeRootsChange(ProjectRootManagerImpl.java:371) 在com.intellij.openapi.roots.impl.ProjectRootManagerImpl $ RootProviderChangeListener.rootSetChanged(ProjectRootManagerImpl.java:668) 在jdk.internal.reflect.GeneratedMethodAccessor532.invoke(未知来源) 在java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.base / java.lang.reflect.Method.invoke(Method.java:566) 在com.intellij.util.EventDispatcher.dispatchVoidMethod(EventDispatcher.java:123) 在com.intellij.util.EventDispatcher.lambda $ createMulticaster $ 1(EventDispatcher.java:86) 在com.sun.proxy。$ Proxy174.rootSetChanged(未知来源) 在com.intellij.openapi.roots.impl.RootProviderBaseImpl.fireRootSetChanged(RootProviderBaseImpl.java:47) 在com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:980) 在com.intellij.openapi.projectRoots.impl.ProjectJdkImpl $ MyRootProvider.rootsChanged(ProjectJdkImpl.java:291) 在com.intellij.openapi.projectRoots.impl.ProjectJdkImpl.copyTo(ProjectJdkImpl.java:267) 在com.intellij.openapi.projectRoots.impl.ProjectJdkImpl.commitChanges(ProjectJdkImpl.java:309) 在com.intellij.codeInspection.magicConstant.MagicConstantInspection.lambda $ attachAnnotationsLaterTo $ 1(MagicConstantInspection.java:182) 在com.intellij.openapi.application.TransactionGuardImpl $ 2.run(TransactionGuardImpl.java:201) 在com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802) 在com.intellij.openapi.application.impl.ApplicationImpl.lambda $ invokeLater $ 4(ApplicationImpl.java:322) 在com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84) 在com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:132) 在com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47) 在com.intellij.openapi.application.impl.FlushQueue $ FlushNow.run(FlushQueue.java:188) 在java.desktop / java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) 在java.desktop / java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776) 在java.desktop / java.awt.EventQueue $ 4.run(EventQueue.java:727) 在java.desktop / java.awt.EventQueue $ 4.run(EventQueue.java:721) 在java.base / java.security.AccessController.doPrivileged(本机方法) 在java.base / java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) 在java.desktop / java.awt.EventQueue.dispatchEvent(EventQueue.java:746) 在com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:967) 在com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839) 在com.intellij.ide.IdeEventQueue.lambda $ dispatchEvent $ 8(IdeEventQueue.java:450) 在com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744) 在com.intellij.ide.IdeEventQueue.lambda $ dispatchEvent $ 9(IdeEventQueue.java:449) 在com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802) 在com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:497) 在java.desktop / java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) 在java.desktop / java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) 在java.desktop / java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) 在java.desktop / java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) 在java.desktop / java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在java.desktop / java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

2 个答案:

答案 0 :(得分:0)

我发现了问题,但无法向自己解释。 我安装了intellij over snap。此安装(不是设置)本身是造成此问题的原因。通过在快照上重新安装,可以重现这一点。 如果我安装相同版本的intellij而不安装快照,则不会发生此问题。

答案 1 :(得分:0)

已知问题:IDEA-247322。解决方法是禁用首选项|编辑器检验| Java |可能的错误| 魔术常数检查

UPD:随2020.2.3 IDE更新而修复。