From c67112d0bd181e74645ae0a297d027749e04dda3 Mon Sep 17 00:00:00 2001 From: "Svetlana.Zemlyanskaya" Date: Fri, 2 Mar 2018 16:17:50 +0100 Subject: [PATCH] WI-35278 Make easier to distinguish PHP and JS debugger in Debug/Run menu --- .../configurations/LocatableConfigurationBase.java | 3 ++- .../execution/configurations/RunConfiguration.java | 12 ++++++++++++ .../actions/ChooseRunConfigurationPopup.java | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/platform/lang-api/src/com/intellij/execution/configurations/LocatableConfigurationBase.java b/platform/lang-api/src/com/intellij/execution/configurations/LocatableConfigurationBase.java index bd125d32cd37..bf40a3ab8699 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/LocatableConfigurationBase.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/LocatableConfigurationBase.java @@ -56,6 +56,7 @@ public abstract class LocatableConfigurationBase extends RunConfigurationBase im @Nullable public String getActionName() { String name = getName(); - return name.length() < 20 ? name : name.substring(0, 20) + "..."; + final String shortName = name.length() < 20 ? name : name.substring(0, 20) + "..."; + return shortName + getPresentableType(); } } diff --git a/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java b/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java index b0e78b03e21c..964742fba3fe 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java @@ -8,6 +8,9 @@ import com.intellij.execution.runners.ProgramRunner; import com.intellij.openapi.actionSystem.DataKey; import com.intellij.openapi.options.SettingsEditor; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; +import com.intellij.util.PlatformUtils; +import com.intellij.util.xmlb.annotations.Transient; import org.jdom.Element; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -111,6 +114,15 @@ public interface RunConfiguration extends RunProfile, Cloneable { return System.identityHashCode(this); } + @NotNull + @Transient + default String getPresentableType() { + if (PlatformUtils.isPhpStorm()) { + return " (" + StringUtil.first(getType().getDisplayName(), 10, true) + ")"; + } + return ""; + } + /** * Checks whether the run configuration settings are valid. * Note that this check may be invoked on every change (i.e. after each character typed in an input field). diff --git a/platform/lang-impl/src/com/intellij/execution/actions/ChooseRunConfigurationPopup.java b/platform/lang-impl/src/com/intellij/execution/actions/ChooseRunConfigurationPopup.java index 1d5c1bafdfa7..d1ba40ed96d4 100644 --- a/platform/lang-impl/src/com/intellij/execution/actions/ChooseRunConfigurationPopup.java +++ b/platform/lang-impl/src/com/intellij/execution/actions/ChooseRunConfigurationPopup.java @@ -353,7 +353,7 @@ public class ChooseRunConfigurationPopup implements ExecutorProvider { @Override public String getText() { - return Executor.shortenNameIfNeed(getValue().getName()); + return Executor.shortenNameIfNeed(getValue().getName()) + getValue().getConfiguration().getPresentableType(); } @Override @@ -1076,7 +1076,7 @@ public class ChooseRunConfigurationPopup implements ExecutorProvider { @Override public String getText() { - return Executor.shortenNameIfNeed(configuration.getName()); + return Executor.shortenNameIfNeed(configuration.getName()) + configuration.getConfiguration().getPresentableType(); } @Override