diff --git a/java/debugger/frontend/resources/intellij.java.debugger.impl.frontend.xml b/java/debugger/frontend/resources/intellij.java.debugger.impl.frontend.xml
index 14b109703ae2..c5d67e65dd9b 100644
--- a/java/debugger/frontend/resources/intellij.java.debugger.impl.frontend.xml
+++ b/java/debugger/frontend/resources/intellij.java.debugger.impl.frontend.xml
@@ -4,8 +4,5 @@
-
-
-
\ No newline at end of file
diff --git a/java/debugger/frontend/resources/messages/JavaDebuggerImplFrontendBundle.properties b/java/debugger/frontend/resources/messages/JavaDebuggerImplFrontendBundle.properties
index a100a15ff6c0..e69de29bb2d1 100644
--- a/java/debugger/frontend/resources/messages/JavaDebuggerImplFrontendBundle.properties
+++ b/java/debugger/frontend/resources/messages/JavaDebuggerImplFrontendBundle.properties
@@ -1,2 +0,0 @@
-action.Debugger.ViewText.Frontend.text=View Text
-action.Debugger.ViewText.Frontend.description=View text value of selected node in a separate pane
\ No newline at end of file
diff --git a/java/debugger/impl/resources/META-INF/java-debugger.xml b/java/debugger/impl/resources/META-INF/java-debugger.xml
index 58988640b725..bf1bbf27da49 100644
--- a/java/debugger/impl/resources/META-INF/java-debugger.xml
+++ b/java/debugger/impl/resources/META-INF/java-debugger.xml
@@ -244,9 +244,7 @@
-
-
-
+
diff --git a/java/debugger/impl/src/com/intellij/debugger/actions/ViewTextAction.java b/java/debugger/impl/src/com/intellij/debugger/actions/ViewTextAction.java
deleted file mode 100644
index 5b21a826527d..000000000000
--- a/java/debugger/impl/src/com/intellij/debugger/actions/ViewTextAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.debugger.actions;
-
-import com.intellij.debugger.engine.JavaValue;
-import com.intellij.java.debugger.impl.shared.actions.ViewTextActionBase;
-import com.intellij.openapi.actionSystem.AnActionEvent;
-import com.intellij.xdebugger.frame.XValue;
-import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase;
-import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl;
-import org.jetbrains.annotations.ApiStatus;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.List;
-
-/*
- * @author Jeka
- * @see com.intellij.java.debugger.impl.frontend.actions.FrontendViewTextAction
- */
-public class ViewTextAction extends ViewTextActionBase {
- @ApiStatus.Internal
- @Override
- protected XValueNodeImpl getStringNode(@NotNull AnActionEvent e) {
- List selectedNodes = XDebuggerTreeActionBase.getSelectedNodes(e.getDataContext());
- if (selectedNodes.size() == 1) {
- XValueNodeImpl node = selectedNodes.get(0);
- XValue container = node.getValueContainer();
- if (container instanceof JavaValue && container.getModifier() != null && ((JavaValue)container).getDescriptor().isString()) {
- return node;
- }
- }
- return null;
- }
-}
diff --git a/java/debugger/shared/resources/intellij.java.debugger.impl.shared.xml b/java/debugger/shared/resources/intellij.java.debugger.impl.shared.xml
index f1bcdcd68d84..21f06f2ac155 100644
--- a/java/debugger/shared/resources/intellij.java.debugger.impl.shared.xml
+++ b/java/debugger/shared/resources/intellij.java.debugger.impl.shared.xml
@@ -27,4 +27,10 @@
+
+
+
+
+
+
diff --git a/java/debugger/frontend/src/com/intellij/java/debugger/impl/frontend/actions/FrontendViewTextAction.kt b/java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt
similarity index 67%
rename from java/debugger/frontend/src/com/intellij/java/debugger/impl/frontend/actions/FrontendViewTextAction.kt
rename to java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt
index cbab70184ef8..d42ce670624c 100644
--- a/java/debugger/frontend/src/com/intellij/java/debugger/impl/frontend/actions/FrontendViewTextAction.kt
+++ b/java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt
@@ -1,27 +1,16 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.java.debugger.impl.frontend.actions
+package com.intellij.debugger.actions
import com.intellij.java.debugger.impl.shared.actions.ViewTextActionBase
import com.intellij.java.debugger.impl.shared.engine.JavaValueDescriptor
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification
-import com.intellij.xdebugger.impl.actions.areFrontendDebuggerActionsEnabled
import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl
+import org.jetbrains.annotations.ApiStatus
-/**
- * Frontend version of [ViewTextAction]
- */
-private class FrontendViewTextAction : ViewTextActionBase(), ActionRemoteBehaviorSpecification.Frontend {
- override fun update(e: AnActionEvent) {
- if (!areFrontendDebuggerActionsEnabled()) {
- e.presentation.isEnabledAndVisible = false
- return
- }
-
- super.update(e)
- }
-
+class ViewTextAction : ViewTextActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend {
+ @ApiStatus.Internal
override fun getStringNode(e: AnActionEvent): XValueNodeImpl? {
val node = XDebuggerTreeActionBase.getSelectedNodes(e.dataContext).singleOrNull() ?: return null
val xValue = node.valueContainer