Skip to content

Cycling between cases doesn't work properly anymore #35

Description

@joeypothoff

Whenever you update PHPStorm to 2026.2 and you try to use this plugin, you can no longer cycle between all the cases.
For example: ThisStringIsForTesting -> thisStringIsForTesting -> this_string_is_for_testing. When you reach the last case and try to cycle again, it gives the following error:

java.lang.NoClassDefFoundError: org/apache/commons/lang/WordUtils
	at de.netnexus.CamelCasePlugin.Conversion.transform(Conversion.java:68)
	at de.netnexus.CamelCasePlugin.CamelCaseEditorActionHandler.beforeWriteAction(CamelCaseEditorActionHandler.java:102)
	at de.netnexus.CamelCasePlugin.CamelCaseEditorActionHandler.doExecute(CamelCaseEditorActionHandler.java:46)
	at com.intellij.openapi.editor.actionSystem.DynamicEditorActionHandler.doExecute(DynamicEditorActionHandler.java:68)
	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.lambda$execute$1(EditorActionHandler.java:208)
	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.doIfEnabled(EditorActionHandler.java:95)
	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.lambda$execute$0(EditorActionHandler.java:207)
	at com.intellij.openapi.editor.impl.CaretModelImpl.lambda$runForEachCaret$0(CaretModelImpl.java:320)
	at com.intellij.openapi.editor.impl.CaretModelImpl.doWithCaretMerging(CaretModelImpl.java:432)
	at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:330)
	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.execute(EditorActionHandler.java:205)
	at com.intellij.openapi.editor.actionSystem.EditorAction.executeHandler(EditorAction.java:187)
	at com.intellij.openapi.editor.actionSystem.EditorAction.lambda$actionPerformed$1(EditorAction.java:122)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.lambda$executeCommand$0(CoreCommandProcessor.java:142)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.runCommandTask(CoreCommandProcessor.java:403)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:157)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:80)
	at com.intellij.openapi.editor.actionSystem.EditorAction.actionPerformed(EditorAction.java:120)
	at com.intellij.openapi.editor.actionSystem.EditorAction.lambda$actionPerformed$0(EditorAction.java:101)
	at com.intellij.openapi.application.WriteIntentReadAction.lambda$run$0(WriteIntentReadAction.java:24)
	at com.intellij.openapi.application.ThrowableComputableToLambda.invoke(coroutines.kt:351)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1218)
	at com.intellij.openapi.application.WriteIntentReadAction.computeThrowable(WriteIntentReadAction.java:55)
	at com.intellij.openapi.application.WriteIntentReadAction.run(WriteIntentReadAction.java:23)
	at com.intellij.openapi.editor.actionSystem.EditorAction.actionPerformed(EditorAction.java:100)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.kt:467)
	at com.intellij.openapi.keymap.impl.ActionProcessor.performAction$lambda$0(ActionProcessor.kt:35)
	at com.intellij.openapi.application.WriteIntentReadAction.lambda$run$0(WriteIntentReadAction.java:24)
	at com.intellij.openapi.application.ThrowableComputableToLambda.invoke(coroutines.kt:351)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1218)
	at com.intellij.openapi.application.WriteIntentReadAction.computeThrowable(WriteIntentReadAction.java:55)
	at com.intellij.openapi.application.WriteIntentReadAction.run(WriteIntentReadAction.java:23)
	at com.intellij.openapi.keymap.impl.ActionProcessor.performAction(ActionProcessor.kt:34)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$actionProcessor$1.performAction(IdeKeyEventDispatcher.kt:546)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.doPerformActionInner$lambda$0$0(IdeKeyEventDispatcher.kt:885)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.doPerformActionInner$lambda$0(IdeKeyEventDispatcher.kt:884)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks$lambda$1$0(ActionManagerImpl.kt:623)
	at com.intellij.openapi.application.WriteIntentReadAction.lambda$run$0(WriteIntentReadAction.java:24)
	at com.intellij.openapi.application.ThrowableComputableToLambda.invoke(coroutines.kt:351)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1218)
	at com.intellij.openapi.application.WriteIntentReadAction.computeThrowable(WriteIntentReadAction.java:55)
	at com.intellij.openapi.application.WriteIntentReadAction.run(WriteIntentReadAction.java:23)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks$lambda$1(ActionManagerImpl.kt:812)
	at com.intellij.concurrency.ThreadContext.installThreadContext(threadContext.kt:307)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks(ActionManagerImpl.kt:620)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.doPerformActionInner(IdeKeyEventDispatcher.kt:882)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.access$doPerformActionInner(IdeKeyEventDispatcher.kt:1)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.kt:605)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.kt:559)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.kt:498)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.kt:491)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.kt:351)
	at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.kt:622)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:575)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0$0(IdeEventQueue.kt:388)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:941)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:387)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1122)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1122)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:382)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:422)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
	Suppressed: com.intellij.util.ExceptionUtilRt$RethrownStack: Rethrown at
		at com.intellij.util.ExceptionUtilRt.addRethrownStackAsSuppressed(ExceptionUtilRt.java:43)
		at com.intellij.util.ExceptionUtilRt.rethrowUnchecked(ExceptionUtilRt.java:16)
		at com.intellij.util.ExceptionUtil.rethrowUnchecked(ExceptionUtil.java:143)
		at com.intellij.openapi.command.impl.CommandProcessorImpl.finishCommand(CommandProcessorImpl.java:32)
		at com.intellij.openapi.command.impl.CoreCommandProcessor.lambda$executeCommand$1(CoreCommandProcessor.java:150)
		at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeNonCancelableSection$0(CoreProgressManager.java:356)
		at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:832)
		at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:788)
		at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$computeInNonCancelableSection$0(CoreProgressManager.java:364)
		at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:167)
		at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:364)
		at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:355)
		at com.intellij.openapi.command.impl.CoreCommandProcessor.lambda$executeCommand$0(CoreCommandProcessor.java:149)
		... 59 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.WordUtils PluginClassLoader(plugin=PluginMainDescriptor(name=CamelCase, id=de.netnexus.camelcaseplugin, version=3.0.12, isBundled=false, path=~/Library/Application Support/JetBrains/PhpStorm2026.2/plugins/CamelCasePlugin.jar), packagePrefix=null, state=active, parents=ContentModuleDescriptor(id=intellij.libraries.groovy, loadingRule=EMBEDDED) <- PluginMainDescriptor(name=Groovy Scripting, id=com.intellij.groovy.scripting, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/plugins/groovy-scripting), ContentModuleDescriptor(id=intellij.platform.vcs.log.graph) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.xml.emmet) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.ssh.core, loadingRule=REQUIRED) <- PluginMainDescriptor(name=SSH, id=intellij.ssh.plugin, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/plugins/platform-ssh-plugin), ContentModuleDescriptor(id=intellij.platform.ssh, loadingRule=REQUIRED) <- PluginMainDescriptor(name=SSH, id=intellij.ssh.plugin, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/plugins/platform-ssh-plugin), ContentModuleDescriptor(id=intellij.platform.ssh.attach) <- PluginMainDescriptor(name=SSH, id=intellij.ssh.plugin, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/plugins/platform-ssh-plugin), ContentModuleDescriptor(id=intellij.platform.vcs.log) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.smRunner, loadingRule=REQUIRED) <- PluginMainDescriptor(name=Test Runner, id=intellij.testRunner.plugin, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/plugins/platform-testRunner-plugin), ContentModuleDescriptor(id=intellij.platform.structureView) <- PluginMainDescriptor(name=Structure View, id=intellij.structureView.plugin, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/plugins/platform-structureView-plugin), ContentModuleDescriptor(id=intellij.platform.todo) <- PluginMainDescriptor(name=TODO Comments, id=intellij.todo.plugin, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/plugins/platform-todo-plugin), ContentModuleDescriptor(id=intellij.platform.bookmarks, loadingRule=REQUIRED) <- PluginMainDescriptor(name=Bookmarks Manager, id=intellij.bookmarks.plugin, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/plugins/platform-bookmarks-plugin), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.structuralSearch) <- PluginMainDescriptor(name=Structural Search, id=intellij.structuralSearch.plugin, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/plugins/platform-structuralSearch-plugin), ContentModuleDescriptor(id=intellij.relaxng) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.log.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker.xml) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.protocolReaderRuntime) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.backend) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.ui) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth.base) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.8665.265, isBundled=true, path=~/Applications/PhpStorm.app/Contents/lib), )
	... 73 more

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions