When I use the keyboard shortcut provided by the CamelCase plugin to convert the case of the selected text, WebStorm throws an exception.
The issue occurs when invoking the case conversion action via the keyboard shortcut. The conversion does not work and an exception is reported by WebStorm.
The selected text should be converted to the requested case without any exception.
An exception is thrown when the keyboard shortcut is invoked.
If needed, I can provide the full exception stack trace from the WebStorm log.
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:1226)
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:1226)
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:1226)
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/WebStorm2026.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.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/groovy-scripting), ContentModuleDescriptor(id=intellij.platform.vcs.log.graph) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.xml.emmet) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.ssh.core, loadingRule=REQUIRED) <- PluginMainDescriptor(name=SSH, id=intellij.ssh.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-ssh-plugin), ContentModuleDescriptor(id=intellij.platform.ssh, loadingRule=REQUIRED) <- PluginMainDescriptor(name=SSH, id=intellij.ssh.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-ssh-plugin), ContentModuleDescriptor(id=intellij.platform.ssh.attach) <- PluginMainDescriptor(name=SSH, id=intellij.ssh.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-ssh-plugin), ContentModuleDescriptor(id=intellij.platform.vcs.log) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.smRunner, loadingRule=REQUIRED) <- PluginMainDescriptor(name=Test Runner, id=intellij.testRunner.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-testRunner-plugin), ContentModuleDescriptor(id=intellij.platform.structureView) <- PluginMainDescriptor(name=Structure View, id=intellij.structureView.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-structureView-plugin), ContentModuleDescriptor(id=intellij.platform.todo) <- PluginMainDescriptor(name=TODO Comments, id=intellij.todo.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-todo-plugin), ContentModuleDescriptor(id=intellij.platform.bookmarks, loadingRule=REQUIRED) <- PluginMainDescriptor(name=Bookmarks Manager, id=intellij.bookmarks.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-bookmarks-plugin), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.structuralSearch) <- PluginMainDescriptor(name=Structural Search, id=intellij.structuralSearch.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-structuralSearch-plugin), ContentModuleDescriptor(id=intellij.relaxng) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.log.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker.xml) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.protocolReaderRuntime) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.backend) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.ui) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth.base) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), )
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:154)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
... 73 more
Exception when using CamelCase plugin hotkey in WebStorm 2026.2.1
Environment
de.netnexus.camelcasepluginDescription
When I use the keyboard shortcut provided by the CamelCase plugin to convert the case of the selected text, WebStorm throws an exception.
The issue occurs when invoking the case conversion action via the keyboard shortcut. The conversion does not work and an exception is reported by WebStorm.
Steps to reproduce
Open WebStorm 2026.2.1.
Open any JavaScript/TypeScript file.
Select a piece of text, for example:
Invoke the CamelCase plugin's case conversion action using its configured keyboard shortcut.
WebStorm throws an exception.
Expected behavior
The selected text should be converted to the requested case without any exception.
Actual behavior
An exception is thrown when the keyboard shortcut is invoked.
Additional information
WebStorm's exception reporter generated the following ID:
01122423f255a35-adb2-4b4f-824b-2ae7e6011e5dInstalled non-bundled plugins
3.0.123.0.1262.9437.196262.8665.176262.8665.173262.8665.1761.0.50.20.1262.9437.214If needed, I can provide the full exception stack trace from the WebStorm log.