Closed clemstoquart closed 4 years ago
Error from IntelliJ:
11:16 AM Plugin Error: Plugin "Lombok" is incompatible (until build 201.SNAPSHOT < IU-202.6397.94).
There is 0.30 EAP release which should be working under 2020.2, so we shall wait for it become published for non-EAP :)
It's the same issue as during the 2020.1 release - you need to uninstall the plugin, restart Idea, install lombok plugin 0.30 EAP and it works again.
It's the same issue as during the 2020.1 release - you need to uninstall the plugin, restart Idea, install lombok plugin 0.30 EAP and it works again.
@zadam indeed, this bug happened again - thanks a lot!
p.s. but yeah, as mentioned later - it will have runtime problems
There is 0.30 EAP release which should be working under 2020.2, so we shall wait for it become published for non-EAP :)
It doesn't work on EAP( https://github.com/mplushnikov/lombok-intellij-plugin/issues/821
There is 0.30 EAP release which should be working under 2020.2, so we shall wait for it become published for non-EAP :)
It doesn't work on EAP( #821
You were using the EAP of IJ 2020.2 Did you also try with the release?
Same issue with IJ 2020.2 release. Not EAP
Worked for me w/o needing to uninstall/install, I am able to see 0.30-EAP in plugin list
How do I add the EAP plugin version to install?
@Heatmanofurioso just uninstall current plugin, then restart. And install again. Worked for me with IJ 2020.2 release
@Heatmanofurioso just uninstall current plugin, then restart. And install again. Worked for me with IJ 2020.2 release
It doesn't work properly with IntelliJ Idea 2020.2. I've installed the latest version of lombok plugin 0.30 EAP and when try to autocomplete a lombok annotation I've got the following IDE internal error.
com.intellij.diagnostic.PluginException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightMethodBuilder #JAVA because: psi is outdated invalidated at: no info [Plugin: Lombook Plugin]
@Heatmanofurioso just uninstall current plugin, then restart. And install again. Worked for me with IJ 2020.2 release
It doesn't work properly with IntelliJ Idea 2020.2. I've installed the latest version of lombok plugin 0.30 EAP and when try to autocomplete a lombok annotation I've got the following IDE internal error.
com.intellij.diagnostic.PluginException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightMethodBuilder #JAVA because: psi is outdated invalidated at: no info [Plugin: Lombook Plugin]
And in fact there are a lot of other issues in IntelliJ regarding the lombok-ized classes. The same error (as above) occurs when trying to see the constructor parameters at the call site. Definitely we need to wait for non EAP version of the plugin
I've fixed this for myself, cloning the project, changing the ideaVersion=
to 2020.2 in gradle.properties and building, then installing this new plugin.
It's the same issue as during the 2020.1 release - you need to uninstall the plugin, restart Idea, install lombok plugin 0.30 EAP and it works again.
This didn't work for me.
I've fixed this for myself, cloning the project, changing the
ideaVersion=
to 2020.2 in gradle.properties and building, then installing this new plugin.
Update This worked for a little bit and then broke again. There are actual issues with the plugin and compatibility with 2020.2. Actual solution is to revert back to 2020.1 until the plugin is updated.
Previous
This did work.
First I uninstalled the version of the plugin installed from the marketplace and restarted IntelliJ.
Then, after editing gradle.properties, to build just run ./gradlew build
in the root directory. Took 3m 40s to build on my machine.
To install, open Plugins screen in IntelliJ and click the cog wheel in the menu bar, then "Install Plugin from disk". You can find the built plugin jar under build/libs
.
That got it working - ok, but are there actually any issues with the plugin? I assume it was set to that version because it hasn't been tested on the new version yet. Let us know if you run into any issues using it with the ~forced upgrade?
worked for me, thanks
note: 0.30-EAP
That got it working - ok, but are there actually any issues with the plugin? I assume it was set to that version because it hasn't been tested on the new version yet. Let us know if you run into any issues using it with the ~forced upgrade?
As @rupert-madden-abbott updated response states, the plugin still crashes after some time, I've noticed this too. At least the IDE can recognize the generated methods with the forced upgrade. The safe bet for now is to wait for the real fix while using 2020.1.
When can we expect a release that works with:
IntelliJ IDEA 2020.2 (Ultimate Edition) Build #IU-202.6397.94, built on July 27, 2020
0.30-EAP does not.
i've never worked with IntelliJ plugins, but i think the issue is here.
basically, the plugin system will intern the psi elements based on the equality.
because this doesn't take into account the navigationElement
, the two instances with different navigationElement
s will be equal and it'll use the previous version. unfortunately, the previous version's navigationElement
isn't valid, so it fails.
if you update the equality check from:
return Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
to something like (this is me just hacking something to see if it works, clearly the author will know a better check):
return isValid() == that.isValid() && Objects.equals(getNavigationElement(), that.getNavigationElement()) && Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
it won't de-dupe the two LombokLightMethodBuilder
.
here's the patch:
Index: src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873)
+++ src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (date 1596080717644)
@@ -287,7 +287,8 @@
if (!getParameterList().equals(that.getParameterList())) {
return false;
}
- return Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
+
+ return isValid() == that.isValid() && Objects.equals(getNavigationElement(), that.getNavigationElement()) && Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
}
@Override
Index: gradle.properties
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- gradle.properties (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873)
+++ gradle.properties (date 1596080940034)
@@ -4,11 +4,11 @@
#
#ideaVersion=2020.1
#ideaVersion=2020.1.2
-ideaVersion=LATEST-EAP-SNAPSHOT
+ideaVersion=2020.2
#
pluginGroup=de.plushnikov.intellij.plugin
pluginName=lombok-plugin
-pluginVersion=0.30
+pluginVersion=0.30-patch
#
javaVersion=1.8
sources=true
i uploaded a jar here:
Removed Link. This doesn't fix the issue.
Same problem on my project. Version information IDEA Version: IntelliJ IDEA 2020.2 (Ultimate Edition) Build #IU-202.6397.94, built on July 27, 2020 JDK Version: OpenJDK Runtime Environment AdoptOpenJDK (build 14.0.1+7) OS Type & Version: macOS 10.15.6 Lombok Plugin Version: 0.30 EPA Lombok Dependency Version**: Latest on Spring boot 2.3.1
i've never worked with IntelliJ plugins, but i think the issue is here.
basically, the plugin system will intern the psi elements based on the equality.
because this doesn't take into account the
navigationElement
, the two instances with differentnavigationElement
s will be equal and it'll use the previous version. unfortunately, the previous version'snavigationElement
isn't valid, so it fails.if you update the equality check from:
return Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
to something like (this is me just hacking something to see if it works, clearly the author will know a better check):return isValid() == that.isValid() && Objects.equals(getNavigationElement(), that.getNavigationElement()) && Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
it won't de-dupe the two
LombokLightMethodBuilder
.here's the patch:
Index: src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873) +++ src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (date 1596080717644) @@ -287,7 +287,8 @@ if (!getParameterList().equals(that.getParameterList())) { return false; } - return Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText); + + return isValid() == that.isValid() && Objects.equals(getNavigationElement(), that.getNavigationElement()) && Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText); } @Override Index: gradle.properties IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- gradle.properties (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873) +++ gradle.properties (date 1596080940034) @@ -4,11 +4,11 @@ # #ideaVersion=2020.1 #ideaVersion=2020.1.2 -ideaVersion=LATEST-EAP-SNAPSHOT +ideaVersion=2020.2 # pluginGroup=de.plushnikov.intellij.plugin pluginName=lombok-plugin -pluginVersion=0.30 +pluginVersion=0.30-patch # javaVersion=1.8 sources=true
i uploaded a jar here:
Wow!!!
This is a good contribution. I've installed the patch from file and all the observed issues simply disappeared. Also no further IDE fatal errors shown by the Idea.
I'm looking forward to see this PR merged and released via market place.
Any updates on this? It causes the IDEA to be super unhealthy.
The above patch does not fix my problem.
That field in red is decorated with the @Singular annotation.
2020-07-30 09:43:43,838 [ 302652] ERROR - aemon.impl.PassExecutorService - IntelliJ IDEA 2020.2 Build #IU-202.6397.94 2020-07-30 09:43:43,838 [ 302652] ERROR - aemon.impl.PassExecutorService - JDK: 11.0.7; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o. 2020-07-30 09:43:43,838 [ 302652] ERROR - aemon.impl.PassExecutorService - OS: Mac OS X 2020-07-30 09:43:43,839 [ 302653] ERROR - aemon.impl.PassExecutorService - Plugin to blame: Lombok version: 0.30-patch-2020.2 2020-07-30 09:43:43,839 [ 302653] ERROR - aemon.impl.PassExecutorService - Last Action: GotoDeclaration 2020-07-30 09:43:48,563 [ 307377] ERROR - aemon.impl.PassExecutorService - Element: class de.plushnikov.intellij.plugin.psi.LombokLightClassBuilder #JAVA because: different providers: com.intellij.psi.DummyHolderViewProvider{vFile=LightVirtualFile: /DummyHolder, content=com.intellij.psi.AbstractFileViewProvider$PsiFileContent@79276a02, eventSystemEnabled=false}(4df01706); com.intellij.psi.SingleRootFileViewProvider{vFile=LightVirtualFile: /DummyHolder, content=VirtualFileContent{size=0}, eventSystemEnabled=true}(65201a44) invalidated at: no info [Plugin: Lombook Plugin] com.intellij.diagnostic.PluginException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightClassBuilder #JAVA because: different providers: com.intellij.psi.DummyHolderViewProvider{vFile=LightVirtualFile: /DummyHolder, content=com.intellij.psi.AbstractFileViewProvider$PsiFileContent@79276a02, eventSystemEnabled=false}(4df01706); com.intellij.psi.SingleRootFileViewProvider{vFile=LightVirtualFile: /DummyHolder, content=VirtualFileContent{size=0}, eventSystemEnabled=true}(65201a44) invalidated at: no info [Plugin: Lombook Plugin] at com.intellij.ide.plugins.PluginManagerCore.createPluginException(PluginManagerCore.java:290) at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:12) at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:67) at com.intellij.psi.util.PsiUtilCore.ensureValid(PsiUtilCore.java:478) at com.intellij.psi.impl.PsiClassImplUtil.lambda$createMembersMap$4(PsiClassImplUtil.java:346) at com.intellij.util.containers.ConcurrentFactoryMap$2.create(ConcurrentFactoryMap.java:174) at com.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:40) at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.get(PsiClassImplUtil.java:326) at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.access$000(PsiClassImplUtil.java:318) at com.intellij.psi.impl.PsiClassImplUtil.processCachedMembersByName(PsiClassImplUtil.java:498) at com.intellij.psi.impl.PsiClassImplUtil.processDeclarationsInClass(PsiClassImplUtil.java:412) at com.intellij.psi.impl.PsiClassImplUtil.processDeclarationsInClass(PsiClassImplUtil.java:389) at com.intellij.psi.impl.source.PsiClassImpl.processDeclarations(PsiClassImpl.java:474) at com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:75) at com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:54) at com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:221) at com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:150) at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.resolve(PsiJavaCodeReferenceElementImpl.java:489) at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.access$100(PsiJavaCodeReferenceElementImpl.java:44) at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:375) at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:368) at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$2(ResolveCache.java:185) at com.intellij.openapi.util.Computable.get(Computable.java:17) at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$3(ResolveCache.java:227) at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112) at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71) at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:204) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:185) at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:802) at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:794) at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.multiResolve(PsiJavaCodeReferenceElementImpl.java:423) at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.advancedResolve(PsiJavaCodeReferenceElementImpl.java:417) at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.resolve(PsiJavaCodeReferenceElementImpl.java:352) at com.intellij.psi.impl.source.tree.JavaTreeCopyHandler.decodeInformation(JavaTreeCopyHandler.java:44) at com.intellij.psi.impl.source.tree.ChangeUtil.lambda$decodeInformation$2(ChangeUtil.java:70) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1812) at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127) at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543) at com.intellij.psi.impl.source.tree.ChangeUtil.decodeInformation(ChangeUtil.java:71) at com.intellij.psi.impl.source.tree.ChangeUtil.decodeInformation(ChangeUtil.java:65) at com.intellij.psi.impl.source.tree.ChangeUtil.decodeInformation(ChangeUtil.java:65) at com.intellij.psi.impl.source.tree.ChangeUtil.decodeInformation(ChangeUtil.java:65) at com.intellij.psi.impl.source.tree.ChangeUtil.decodeInformation(ChangeUtil.java:65) at com.intellij.psi.impl.source.tree.ChangeUtil.decodeInformation(ChangeUtil.java:65) at com.intellij.psi.impl.source.tree.ChangeUtil.lambda$decodeInformation$1(ChangeUtil.java:59) at com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:575) at com.intellij.psi.impl.source.tree.ChangeUtil.decodeInformation(ChangeUtil.java:59) at com.intellij.psi.impl.source.tree.SharedImplUtil.doReplace(SharedImplUtil.java:197) at com.intellij.psi.impl.source.JavaStubPsiElement.replace(JavaStubPsiElement.java:112) at com.siyeh.ig.style.BoundedWildcardInspection.createClassCopy(BoundedWildcardInspection.java:360) at com.siyeh.ig.style.BoundedWildcardInspection.lambda$canChangeTo$2(BoundedWildcardInspection.java:260) at com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:575) at com.siyeh.ig.style.BoundedWildcardInspection.canChangeTo(BoundedWildcardInspection.java:259) at com.siyeh.ig.style.BoundedWildcardInspection.access$000(BoundedWildcardInspection.java:45) at com.siyeh.ig.style.BoundedWildcardInspection$1.visitTypeElement(BoundedWildcardInspection.java:75) at com.intellij.psi.impl.source.PsiTypeElementImpl.accept(PsiTypeElementImpl.java:58) at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65) at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:56) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:294) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$3(LocalInspectionsPass.java:263) at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:155) at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:147) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:262) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:262) at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149) at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:162) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110) at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:117) at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96) at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182) at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96) at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) Caused by: com.intellij.psi.PsiInvalidElementAccessException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightClassBuilder #JAVA because: different providers: com.intellij.psi.DummyHolderViewProvider{vFile=LightVirtualFile: /DummyHolder, content=com.intellij.psi.AbstractFileViewProvider$PsiFileContent@79276a02, eventSystemEnabled=false}(4df01706); com.intellij.psi.SingleRootFileViewProvider{vFile=LightVirtualFile: /DummyHolder, content=VirtualFileContent{size=0}, eventSystemEnabled=true}(65201a44) invalidated at: no info ... 87 more
AND
2020-07-30 10:21:13,014 [1176606] WARN - Container.ComponentManagerImpl - Class constructor must not have parameters: de.plushnikov.intellij.plugin.settings.ProjectSettingsPage [Plugin: Lombook Plugin]
com.intellij.diagnostic.PluginException: Class constructor must not have parameters: de.plushnikov.intellij.plugin.settings.ProjectSettingsPage [Plugin: Lombook Plugin]
at com.intellij.serviceContainer.ComponentManagerImpl.instantiateExtensionWithPicoContainerOnlyIfNeeded(ComponentManagerImpl.kt:694)
at com.intellij.openapi.options.ConfigurableEP$ClassProducer.createElement(ConfigurableEP.java:422)
at com.intellij.openapi.options.ConfigurableEP.createConfigurable(ConfigurableEP.java:329)
at com.intellij.openapi.options.ex.ConfigurableWrapper.createConfigurable(ConfigurableWrapper.java:45)
at com.intellij.openapi.options.ex.ConfigurableWrapper.getConfigurable(ConfigurableWrapper.java:119)
at com.intellij.openapi.options.ex.ConfigurableWrapper.cast(ConfigurableWrapper.java:94)
at com.intellij.openapi.options.ex.ConfigurableWrapper.getId(ConfigurableWrapper.java:214)
at com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil.groupConfigurables(ConfigurableExtensionPointUtil.java:267)
at com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil.getConfigurableGroup(ConfigurableExtensionPointUtil.java:129)
at com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil.lambda$getConfigurableGroup$1(ConfigurableExtensionPointUtil.java:119)
at com.intellij.openapi.util.ClearableLazyValue$2.compute(ClearableLazyValue.java:26)
at com.intellij.openapi.util.ClearableLazyValue.getValue(ClearableLazyValue.java:39)
at com.intellij.openapi.util.AtomicClearableLazyValue.getValue(AtomicClearableLazyValue.java:9)
at com.intellij.openapi.options.ex.EpBasedConfigurableGroup.
Waiting for new version
Any updates on this? It causes the IDEA to be super unhealthy.
Please check https://github.com/mplushnikov/lombok-intellij-plugin/issues/840#issuecomment-666085509 for work-around solution.
any ETA for that without having to do the workaround?
any ETA for that without having to do the workaround?
August. See https://github.com/mplushnikov/lombok-intellij-plugin/issues/829#issuecomment-660442053
https://github.com/JetBrains/Grammar-Kit/releases I was wondering if perhaps this needs to be updated before the problem goes away entirely.
GrammarKit seems to provide the PSI stuff, and I only see a 2020.1 release in there.
Such a popular plugin many people use uncompatible with latest intellij version and the only guy who can do something about it is away for almost a month already
give it a break folks. It's not like all of a sudden 2020.1 is obsolete and no longer working.
i've never worked with IntelliJ plugins, but i think the issue is here.
basically, the plugin system will intern the psi elements based on the equality.
because this doesn't take into account the
navigationElement
, the two instances with differentnavigationElement
s will be equal and it'll use the previous version. unfortunately, the previous version'snavigationElement
isn't valid, so it fails.if you update the equality check from:
return Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
to something like (this is me just hacking something to see if it works, clearly the author will know a better check):return isValid() == that.isValid() && Objects.equals(getNavigationElement(), that.getNavigationElement()) && Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
it won't de-dupe the two
LombokLightMethodBuilder
.here's the patch:
Index: src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873) +++ src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (date 1596080717644) @@ -287,7 +287,8 @@ if (!getParameterList().equals(that.getParameterList())) { return false; } - return Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText); + + return isValid() == that.isValid() && Objects.equals(getNavigationElement(), that.getNavigationElement()) && Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText); } @Override Index: gradle.properties IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- gradle.properties (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873) +++ gradle.properties (date 1596080940034) @@ -4,11 +4,11 @@ # #ideaVersion=2020.1 #ideaVersion=2020.1.2 -ideaVersion=LATEST-EAP-SNAPSHOT +ideaVersion=2020.2 # pluginGroup=de.plushnikov.intellij.plugin pluginName=lombok-plugin -pluginVersion=0.30 +pluginVersion=0.30-patch # javaVersion=1.8 sources=true
i uploaded a jar here: lombok-plugin-0.30-patch-2020.2.jar.zip
awesome!!! it works well
Index: src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873) +++ src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (date 1596080717644) @@ -287,7 +287,8 @@ if (!getParameterList().equals(that.getParameterList())) { return false; } - return Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText); + + return isValid() == that.isValid() && Objects.equals(getNavigationElement(), that.getNavigationElement()) && Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText); } @Override Index: gradle.properties IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- gradle.properties (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873) +++ gradle.properties (date 1596080940034) @@ -4,11 +4,11 @@ # #ideaVersion=2020.1 #ideaVersion=2020.1.2 -ideaVersion=LATEST-EAP-SNAPSHOT +ideaVersion=2020.2 # pluginGroup=de.plushnikov.intellij.plugin pluginName=lombok-plugin -pluginVersion=0.30 +pluginVersion=0.30-patch # javaVersion=1.8 sources=true
Apparently, these changes mend the issue in my installation of IDEA 2020.2. I'm not familiar with the code base, therefore I cannot assess if it's the right thing to do.
@ajchun Consider to open a Pull Request (PR) with your changes and mention this issue.
There is already a PR #860 With a comment from @mplushnikov (the owner of this plugin)
Thank you for your improvement, I'm in vacation and will look on it as soon as I'l be back.
So we just have to patient, everybody has the right to a vacation, especially if they provide something free of charge.
For the future it might be worthwhile to consider adding a second maintainer.
It's the same issue as during the 2020.1 release - you need to uninstall the plugin, restart Idea, install lombok plugin 0.30 EAP and it works again.
This works for me, IDEA version: 2020.2
i've never worked with IntelliJ plugins, but i think the issue is here.
basically, the plugin system will intern the psi elements based on the equality.
because this doesn't take into account the
navigationElement
, the two instances with differentnavigationElement
s will be equal and it'll use the previous version. unfortunately, the previous version'snavigationElement
isn't valid, so it fails.if you update the equality check from:
return Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
to something like (this is me just hacking something to see if it works, clearly the author will know a better check):return isValid() == that.isValid() && Objects.equals(getNavigationElement(), that.getNavigationElement()) && Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText);
it won't de-dupe the two
LombokLightMethodBuilder
.here's the patch:
Index: src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873) +++ src/main/java/de/plushnikov/intellij/plugin/psi/LombokLightMethodBuilder.java (date 1596080717644) @@ -287,7 +287,8 @@ if (!getParameterList().equals(that.getParameterList())) { return false; } - return Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText); + + return isValid() == that.isValid() && Objects.equals(getNavigationElement(), that.getNavigationElement()) && Objects.equals(myReturnTypeAsText, that.myReturnTypeAsText); } @Override Index: gradle.properties IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- gradle.properties (revision 52195c0fdacd1fdfb74a3b13165d53c561b0f873) +++ gradle.properties (date 1596080940034) @@ -4,11 +4,11 @@ # #ideaVersion=2020.1 #ideaVersion=2020.1.2 -ideaVersion=LATEST-EAP-SNAPSHOT +ideaVersion=2020.2 # pluginGroup=de.plushnikov.intellij.plugin pluginName=lombok-plugin -pluginVersion=0.30 +pluginVersion=0.30-patch # javaVersion=1.8 sources=true
i uploaded a jar here: lombok-plugin-0.30-patch-2020.2.jar.zip
thank you!! this patch is work for my question
May I ask when will the new version be released and the version that can be used normally? Thank you!
May I ask when will the new version be released and the version that can be used normally? Thank you!
https://github.com/mplushnikov/lombok-intellij-plugin/issues/829#issuecomment-660442053 .. scroll up :)
Lombok should be natively supported by JetBrains, could you guys comment, upvote this: https://youtrack.jetbrains.com/issue/IDEABKL-5667? Maybe they will finally do something about it, with all due respect for the author, millions of devs shouldn't be dependent on single maintainer plugin.
IDEA Version: IntelliJ IDEA 2020.2 (Ultimate Edition) Build #IU-202.6397.94, built on July 27, 2020 JDK Version: OracleJDK 11.0.2 OS Type & Version: Windows 10 Enterprise 1909 Lombok Plugin Version: 0.30 EPA
Exception 1
com.intellij.diagnostic.PluginException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightMethodBuilder #JAVA because: psi is outdated
invalidated at: no info [Plugin: Lombook Plugin]
at com.intellij.ide.plugins.PluginManagerCore.createPluginException(PluginManagerCore.java:290)
at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:12)
at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:67)
at com.intellij.psi.util.PsiUtilCore.ensureValid(PsiUtilCore.java:478)
at com.intellij.psi.impl.PsiClassImplUtil.lambda$createMembersMap$4(PsiClassImplUtil.java:346)
at com.intellij.util.containers.ConcurrentFactoryMap$2.create(ConcurrentFactoryMap.java:174)
at com.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:40)
at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.get(PsiClassImplUtil.java:326)
at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.access$000(PsiClassImplUtil.java:318)
at com.intellij.psi.impl.PsiClassImplUtil.getMap(PsiClassImplUtil.java:175)
at com.intellij.psi.impl.PsiClassImplUtil.getAllByMap(PsiClassImplUtil.java:166)
at com.intellij.psi.impl.PsiClassImplUtil.getAllMethods(PsiClassImplUtil.java:58)
at com.intellij.psi.impl.source.PsiClassImpl.getAllMethods(PsiClassImpl.java:335)
at com.intellij.execution.junit.JUnitUtil.lambda$isJUnit5TestClass$1(JUnitUtil.java:308)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120)
at com.intellij.execution.junit.JUnitUtil.isJUnit5TestClass(JUnitUtil.java:306)
at com.intellij.execution.junit.JUnit5Framework.isTestClass(JUnit5Framework.java:56)
at com.intellij.testIntegration.JavaTestFramework.isTestClass(JavaTestFramework.java:55)
at com.intellij.codeInsight.TestFrameworksImpl.isTestClass(TestFrameworksImpl.java:18)
at com.intellij.psi.impl.ElementPresentationUtil.getClassKindImpl(ElementPresentationUtil.java:134)
at com.intellij.psi.impl.ElementPresentationUtil.lambda$getClassKind$0(ElementPresentationUtil.java:100)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.psi.impl.ElementPresentationUtil.getClassKind(ElementPresentationUtil.java:103)
at com.intellij.psi.impl.PsiClassImplUtil.lambda$static$0(PsiClassImplUtil.java:226)
at com.intellij.ui.IconDeferrerImpl.deferImpl(IconDeferrerImpl.java:70)
at com.intellij.ui.IconDeferrerImpl.defer(IconDeferrerImpl.java:60)
at com.intellij.psi.impl.PsiClassImplUtil.getClassIcon(PsiClassImplUtil.java:248)
at com.intellij.psi.impl.PsiClassImplUtil.getClassIcon(PsiClassImplUtil.java:235)
at com.intellij.psi.impl.source.PsiClassImpl.getElementIcon(PsiClassImpl.java:533)
at com.intellij.psi.impl.ElementBase.doComputeIconNow(ElementBase.java:110)
at com.intellij.psi.impl.ElementBase.lambda$computeIconNow$2(ElementBase.java:97)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115)
at com.intellij.psi.impl.ElementBase.computeIconNow(ElementBase.java:97)
at com.intellij.psi.impl.ElementBase.lambda$static$0(ElementBase.java:41)
at com.intellij.ui.CoreIconManager.lambda$createDeferredIcon$0(CoreIconManager.java:48)
at com.intellij.ui.IconDeferrerImpl.deferImpl(IconDeferrerImpl.java:70)
at com.intellij.ui.IconDeferrerImpl.defer(IconDeferrerImpl.java:60)
at com.intellij.ui.CoreIconManager.createDeferredIcon(CoreIconManager.java:48)
at com.intellij.psi.impl.ElementBase.computeIcon(ElementBase.java:89)
at com.intellij.psi.impl.ElementBase.getIcon(ElementBase.java:68)
at com.intellij.ide.JavaFileIconPatcher.patchIcon(JavaFileIconPatcher.java:56)
at com.intellij.util.IconUtil.lambda$static$0(IconUtil.java:155)
at com.intellij.ui.DeferredIconImpl.evaluate(DeferredIconImpl.java:279)
at com.intellij.ui.DeferredIconImpl.lambda$scheduleEvaluation$0(DeferredIconImpl.java:166)
at com.intellij.ui.IconDeferrerImpl.evaluateDeferred(IconDeferrerImpl.java:98)
at com.intellij.ui.DeferredIconImpl.lambda$scheduleEvaluation$1(DeferredIconImpl.java:166)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:77)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:153)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:114)
at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:56)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:170)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:56)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:111)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:77)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:98)
at com.intellij.ui.DeferredIconImpl.lambda$scheduleEvaluation$4(DeferredIconImpl.java:165)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:215)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:26)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:194)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:207)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:183)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.intellij.psi.PsiInvalidElementAccessException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightMethodBuilder #JAVA because: psi is outdated
invalidated at: no info
... 87 more
Exception 2
During querying provider Run line marker (class com.intellij.execution.lineMarker.RunLineMarkerProvider)
com.intellij.diagnostic.PluginException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightMethodBuilder #JAVA because: psi is outdated
invalidated at: no info [Plugin: Lombook Plugin]
at com.intellij.ide.plugins.PluginManagerCore.createPluginException(PluginManagerCore.java:290)
at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:12)
at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:67)
at com.intellij.psi.util.PsiUtilCore.ensureValid(PsiUtilCore.java:478)
at com.intellij.psi.impl.PsiClassImplUtil.lambda$createMembersMap$4(PsiClassImplUtil.java:346)
at com.intellij.util.containers.ConcurrentFactoryMap$2.create(ConcurrentFactoryMap.java:174)
at com.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:40)
at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.get(PsiClassImplUtil.java:326)
at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.access$000(PsiClassImplUtil.java:318)
at com.intellij.psi.impl.PsiClassImplUtil.getMap(PsiClassImplUtil.java:175)
at com.intellij.psi.impl.PsiClassImplUtil.findByMap(PsiClassImplUtil.java:130)
at com.intellij.psi.impl.PsiClassImplUtil.findMethodsByName(PsiClassImplUtil.java:74)
at com.intellij.psi.impl.source.ClassInnerStuffCache.findMethodsByName(ClassInnerStuffCache.java:69)
at com.intellij.psi.impl.source.PsiClassImpl.findMethodsByName(PsiClassImpl.java:360)
at com.intellij.psi.util.PsiMethodUtil.findMainMethod(PsiMethodUtil.java:27)
at com.intellij.psi.util.PsiMethodUtil.findMainInClass(PsiMethodUtil.java:64)
at com.intellij.execution.application.ApplicationRunLineMarkerProvider.getInfo(ApplicationRunLineMarkerProvider.java:29)
at com.intellij.execution.lineMarker.RunLineMarkerProvider.getLineMarkerInfo(RunLineMarkerProvider.java:50)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:163)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:88)
at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:81)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:83)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:399)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:392)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:391)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:367)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:365)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:181)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
Caused by: com.intellij.psi.PsiInvalidElementAccessException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightMethodBuilder #JAVA because: psi is outdated
invalidated at: no info
... 37 more
The solutions above did not work. Neither reinstalling the plugin again nor replacing the JAR with the modified one.
Any update to fix the psi problem?
There are no fix at the moment. One of IntelliJ caches looks like broken. I'm waiting for comming change (Build: 202.7023) from Jetbrains in https://youtrack.jetbrains.com/issue/IDEA-248146 to verify if it fix the problem.
@mplushnikov thank you for the great work you do man. Already went and left some comments to the JetBrains team. We already support lombok (paypal) but I can't wrap my head as to why they have not made Lombok (and you if you would like) as part of native IDEA.
@mplushnikov - agree with @carlitorendon , in my company we have one huge repository that uses Lombok extensively and it wouldn't be possible without you.
@mplushnikov thank you for the great work you do man. Already went and left some comments to the JetBrains team. We already support lombok (paypal) but I can't wrap my head as to why they have not made Lombok (and you if you would like) as part of native IDEA.
I actually started using IntelliJ 2019.3.5 back again since I can't work without Lombok in our company projects and all other solutions for the 2020 version that were suggested didn't solve it for me.
@mplushnikov thank you for the great work you do man. Already went and left some comments to the JetBrains team. We already support lombok (paypal) but I can't wrap my head as to why they have not made Lombok (and you if you would like) as part of native IDEA.
I actually started using IntelliJ 2019.3.5 back again since I can't work without Lombok in our company projects and all other solutions for the 2020 version that were suggested didn't solve it for me.
The plugin works fine for 2020.1, it only breaks with 2020.2. Soon we'll have 2020.2.1 which will probably fix this.
so lombok can no longer now work on recent Idea ? any idea when this can move on ?
so lombok can no longer now work on recent Idea ? any idea when this can move on ?
See: https://github.com/mplushnikov/lombok-intellij-plugin/pull/860#issuecomment-668582234
The .jar on this comment works for me: https://github.com/mplushnikov/lombok-intellij-plugin/issues/840#issuecomment-666085509
Short description
Looks like lombok plugin is incompatible with Intellij 2020.2.
Expected behavior
Lombok plugin should work with Intellij 2020.2.
Version information