首页 > 解决方案 > IntelliJ 不断索引,当 src 文件处于焦点时

问题描述

我有一个奇怪的intellij行为。只要我关注像 *.j​​ava 这样的 src 文件,它就会不断地尝试重新索引我的项目。任何项目都会发生这种情况。即使我有一个带有单个 src 文件的新项目。

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

我在 Ubuntu 18.04

日志输出:2020-08-18 05:02:02,004 [260523] INFO - indexing.UnindexedFilesUpdater - 未索引文件更新开始:0 个文件到索引 2020-08-18 05:02:02,602 [261121] INFO - pl.ProjectRootManagerComponent -项目根已更改(已使用 trace_hash = 676357740 报告了堆栈跟踪)2020-08-18 05:02:02,609 [261128] INFO - .diagnostic.PerformanceWatcher - 推送属性花费了 3 毫秒;一般反应:好的;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) at com.intellij.openapi.roots.impl.ProjectRootManagerComponent.fireRootsChangedEvent(ProjectRootManagerComponent.java:210) at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.fireRootsChanged(ProjectRootManagerImpl.java:428) at 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) at jdk.internal.reflect.GeneratedMethodAccessor532.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java。 base/java.lang.reflect.Method.invoke(Method.java:566) at com.intellij.util.EventDispatcher.dispatchVoidMethod(EventDispatcher.java:123) at com.intellij.util.EventDispatcher.lambda$createMulticaster$1(EventDispatcher .java:86) 在 com.sun.proxy.$Proxy174.rootSetChanged(Unknown Source) 在 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。com.intellij.openapi.projectRoots.impl.ProjectJdkImpl.copyTo(ProjectJdkImpl.java:267) 上的rootChanged(ProjectJdkImpl.java:291) 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(Native Method) 在 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) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744) at 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。java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 上的 EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

标签: intellij-idea

解决方案


已知问题:IDEA-247322。解决方法是禁用 Preferences | 编辑 | 检查 | 爪哇 | 可能的错误 | 魔法常数检查

UPD:已通过 2020.2.3 IDE 更新修复。


推荐阅读