AtomMaterialUI / a-file-icon-idea

Atom Material Icons for JetBrains - Replace File and UI Icons for better visual grepping.
http://www.material-theme.com/docs/configuration/icons-settings/#atom-material-icons-plugin
MIT License
218 stars 27 forks source link

The Atom Material Icons plugin in PyCharm encountered a class loading error while trying to create an extension, causing the plugin to malfunction. #456

Open MeditatorV opened 1 month ago

MeditatorV commented 1 month ago

Describe the bug

The Atom Material Icons plugin in PyCharm encountered a class loading error while trying to create an extension, causing the plugin to malfunction.

To Reproduce An error is reported at startup

Environment

image

com.intellij.diagnostic.PluginException: Cannot create extension (class=com.mallowigi.actions.OldToolbarAdder) [Plugin: com.mallowigi] at com.intellij.serviceContainer.ComponentManagerImpl.createError(ComponentManagerImpl.kt:1471) at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.doCreateInstance(XmlExtensionAdapter.kt:71) at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.createInstance(XmlExtensionAdapter.kt:32) at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapter(ExtensionPointImpl.java:440) at com.intellij.openapi.extensions.impl.ExtensionPointImpl.access$200(ExtensionPointImpl.java:33) at com.intellij.openapi.extensions.impl.ExtensionPointImpl$1.next(ExtensionPointImpl.java:348) at com.intellij.openapi.extensions.impl.ExtensionProcessingHelper.forEachExtensionSafe(ExtensionProcessingHelper.kt:28) at com.intellij.openapi.extensions.ExtensionPointName.forEachExtensionSafe(ExtensionPointName.kt:50) at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.(ActionManagerImpl.kt:130) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$4.invoke(instantiate.kt:74) at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$4.invoke(instantiate.kt:72) at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:278) at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:72) at com.intellij.serviceContainer.InstantiateKt.instantiateWithContainer(instantiate.kt:19) at com.intellij.serviceContainer.ServiceInstanceInitializer.createInstance$suspendImpl(ServiceInstanceInitializer.kt:26) at com.intellij.serviceContainer.ServiceInstanceInitializer.createInstance(ServiceInstanceInitializer.kt) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invokeSuspend(LazyInstanceHolder.kt:162) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78) at kotlinx.coroutines.BuildersKtBuilders_commonKt.withContext(Builders.common.kt:167) at kotlinx.coroutines.BuildersKt.withContext(Unknown Source) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invokeSuspend(LazyInstanceHolder.kt:160) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:44) at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112) at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126) at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56) at kotlinx.coroutines.BuildersKt.launch(Unknown Source) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.initialize(LazyInstanceHolder.kt:145) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.access$initialize(LazyInstanceHolder.kt:13) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.tryInitialize(LazyInstanceHolder.kt:135) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt:95) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance$suspendImpl(LazyInstanceHolder.kt:83) at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt) at com.intellij.platform.instanceContainer.internal.InstanceContainerImpl.instance(InstanceContainerImpl.kt:68) at com.intellij.serviceContainer.ComponentManagerImpl.getServiceAsync(ComponentManagerImpl.kt:993) at com.intellij.platform.ide.bootstrap.AppServicePreloadingKt$preloadCriticalServices$2$7.invokeSuspend(appServicePreloading.kt:218) at com.intellij.platform.ide.bootstrap.AppServicePreloadingKt$preloadCriticalServices$2$7.invoke(appServicePreloading.kt) at com.intellij.platform.ide.bootstrap.AppServicePreloadingKt$preloadCriticalServices$2$7.invoke(appServicePreloading.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78) at kotlinx.coroutines.BuildersKtBuilders_commonKt.withContext(Builders.common.kt:167) at kotlinx.coroutines.BuildersKt.withContext(Unknown Source) at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span(tracer.kt:56) at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span$default(tracer.kt:49) at com.intellij.platform.ide.bootstrap.AppServicePreloadingKt$preloadCriticalServices$2.invokeSuspend(appServicePreloading.kt:115) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) Caused by: com.intellij.diagnostic.PluginException: Cannot load class com.mallowigi.actions.OldToolbarAdder ( error: com/intellij/openapi/actionSystem/impl/ActionConfigurationCustomizer$SyncHeavyCustomizeStrategy, classLoader=PluginClassLoader(plugin=PluginDescriptor(name=Atom Material Icons, id=com.mallowigi, descriptorPath=plugin.xml, path=D:\Program Files\Pycharm_2023.3.5_Protable.PyCharm\config\plugins\Atom Material Icons, version=97.0.0, package=null, isBundled=false), packagePrefix=null, state=active) ) at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:331) at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.kt:178) at com.intellij.serviceContainer.ComponentManagerImplKt.doLoadClass(ComponentManagerImpl.kt:2255) at com.intellij.serviceContainer.ComponentManagerImpl.loadClass(ComponentManagerImpl.kt:1370) at com.intellij.openapi.extensions.impl.InterfaceExtensionImplementationClassResolver.resolveImplementationClass(InterfaceExtensionImplementationClassResolver.kt:19) at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.doCreateInstance(XmlExtensionAdapter.kt:50) ... 56 more Caused by: java.lang.NoClassDefFoundError: com/intellij/openapi/actionSystem/impl/ActionConfigurationCustomizer$SyncHeavyCustomizeStrategy at java.base/java.lang.ClassLoader.defineClass2(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1108) at com.intellij.util.lang.UrlClassLoader.consumeClassData(UrlClassLoader.java:289) at com.intellij.util.lang.ZipResourceFile.findClass(ZipResourceFile.java:113) at com.intellij.util.lang.JarLoader.findClass(JarLoader.java:58) at com.intellij.util.lang.ClassPath.findClassInLoader(ClassPath.java:240) at com.intellij.util.lang.ClassPath.findClass(ClassPath.java:190) at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:326) ... 61 more Caused by: java.lang.ClassNotFoundException: com.intellij.openapi.actionSystem.impl.ActionConfigurationCustomizer$SyncHeavyCustomizeStrategy PluginClassLoader(plugin=PluginDescriptor(name=Atom Material Icons, id=com.mallowigi, descriptorPath=plugin.xml, path=D:\Program Files\Pycharm_2023.3.5_Protable.PyCharm\config\plugins\Atom Material Icons, version=97.0.0, package=null, isBundled=false), packagePrefix=null, state=active) at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:156) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ... 69 more

korngsamnang commented 1 month ago

On WebStorm and PHPstorm, I had the same problem.

And the icons are not shown in the jsx file.

Screenshot 2024-06-04 194748

mallowigi commented 1 month ago

If you're still using 2023.X versions, time to update

korngsamnang commented 1 month ago

If you're still using 2023.X versions, time to update

Hi, I have updated my WebStorm to the latest version, but I still have this same problem with Atom Materail icons not displaying in the jsx file.

Screenshot 2024-06-05 134534

mallowigi commented 1 month ago

This is because you have the Next.JS Icon Pack. When it is enabled, specific Next.JS files have specific icons, such as layout, page, error etc.

You can disable it in the settings (but I wouldn't recommend it)

korngsamnang commented 1 month ago

This is because you have the Next.JS Icon Pack. When it is enabled, specific Next.JS files have specific icons, such as layout, page, error etc.

You can disable it in the settings (but I wouldn't recommend it)

Thank you for the clarification. I realize now that this is not an issue but just a setting related to the Next.JS Icon Pack.