fwdekker / intellij-randomness

IntelliJ plugin for inserting random numbers, UUIDs, names, IP addresses, and much more

Home Page:https://plugins.jetbrains.com/plugin/9836-randomness

Repository from Github https://github.comfwdekker/intellij-randomnessRepository from Github https://github.comfwdekker/intellij-randomness

"No displayName is specified for configurable: com.fwdekker.randomness.integer.IntegerSettingsConfigurable"

ForNeVeR opened this issue · comments

Hi! I work for the Rider team, and some Rider users have started reporting a particular exception thrown from the platform code.

The plugin reports the following issue in Rider 2023.2 EAP 5:

java.lang.Throwable: No displayName is specified for configurable: com.fwdekker.randomness.integer.IntegerSettingsConfigurable
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:370)
	at com.intellij.openapi.options.ex.ConfigurableWrapper.getDisplayName(ConfigurableWrapper.java:158)
	at com.intellij.ide.util.gotoByName.GotoActionModel.lambda$new$0(GotoActionModel.java:78)
	at com.intellij.openapi.util.NotNullLazyValue$4.compute(NotNullLazyValue.java:120)
	at com.intellij.openapi.util.NotNullLazyValue$4.getValue(NotNullLazyValue.java:105)
	at com.intellij.ide.util.gotoByName.GotoActionModel.getConfigurablesNames(GotoActionModel.java:364)
	at com.intellij.ide.util.gotoByName.GotoActionItemProvider.processOptions(GotoActionItemProvider.java:148)
	at com.intellij.ide.util.gotoByName.GotoActionItemProvider.filterElements(GotoActionItemProvider.java:94)
	at com.intellij.ide.actions.searcheverywhere.ActionSearchEverywhereContributor.lambda$fetchWeightedElements$4(ActionSearchEverywhereContributor.java:137)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:603)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:678)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:634)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:602)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
	at com.intellij.ide.actions.searcheverywhere.ActionSearchEverywhereContributor.fetchWeightedElements(ActionSearchEverywhereContributor.java:136)
	at com.intellij.ide.actions.searcheverywhere.MixedResultsSearcher$ContributorSearchTask.run(MixedResultsSearcher.java:184)
	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:218)
	at com.intellij.util.ConcurrencyUtil.lambda$underThreadNameRunnable$3(ConcurrencyUtil.java:206)
	at com.intellij.codeWithMe.ClientId$Companion.decorateRunnable$lambda$4(ClientId.kt:304)
	at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:274)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)

I believe that this may also be the reason for why the plugin settings page may not have the right name in the UI (IntelliJ will fall back to showing the .toString() in such case).

Please make sure to update the configurable registration in the plugin.xml: the latest IntelliJ DevKit should help with that. You are supposed to add bundle="…" and key="…" attributes in the <{application|project}Configurable>, for IntelliJ to know the settings' page name without loading the class.

Thank you for reporting the issue! I expect to have some time to look into this in the coming days.

The issue has been resolved as of v2.7.7, which will be available in your IDE in a few days after JetBrains has conducted some final checks. If you cannot wait until then, the release can also be downloaded from GitHub.

Let me know if you encounter any further problems!