From fcbab8663ea194fcd0e5048d18af84d1f97b8c4a Mon Sep 17 00:00:00 2001 From: Andrey Turbanov Date: Mon, 11 Jun 2018 18:30:06 +0300 Subject: [PATCH] 2018.2 support added --- README.md | 2 +- resources/META-INF/plugin.xml | 13 +++++++++---- src/org/turbanov/actions/Bootstrap.java | 15 +++++++++++---- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index a84328c..d25467f 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Plugin is compatible with all major IDEs based on IntelliJ Platform starting fro * WebStorm * AppCode * Rider -* Gogland +* GoLand ## Repository link https://plugins.jetbrains.com/idea/plugin/9448-run-configuration-as-action diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml index 6526d38..a41547e 100644 --- a/resources/META-INF/plugin.xml +++ b/resources/META-INF/plugin.xml @@ -1,16 +1,21 @@ org.turbanov.run.configuration.as.action Run Configuration as Action - 1.1 + 1.2 Turbanov Andrey - It's allows to create button in toolbar to run specific configuration. +Register all run configuration as actions.
+Now you can assign shortcuts to run configurations! +Also it allows to create button in toolbar to run specific configuration.
]]>
1.5 +

1.2

+
    +
  • 2018.2 support added
  • +
+

1.1

  • Properly load custom actions to Navigation Bar Toolbar
diff --git a/src/org/turbanov/actions/Bootstrap.java b/src/org/turbanov/actions/Bootstrap.java index b348666..ead78ab 100644 --- a/src/org/turbanov/actions/Bootstrap.java +++ b/src/org/turbanov/actions/Bootstrap.java @@ -17,6 +17,7 @@ import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.ex.ActionManagerEx; +import com.intellij.openapi.application.ApplicationInfo; import com.intellij.openapi.components.AbstractProjectComponent; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.PluginId; @@ -71,7 +72,7 @@ public void removeForAllExecutors(String runConfigName) { for (Executor executor : executors) { String actionId = makeActionId(executor, runConfigName); AnAction action = actionManager.getAction(actionId); - if (action == null || !(action instanceof RunConfigurationAsAction)) { + if (!(action instanceof RunConfigurationAsAction)) { continue; } int count = ((RunConfigurationAsAction) action).unregister(); @@ -117,8 +118,14 @@ public void runConfigurationRemoved(@NotNull RunnerAndConfigurationSettings sett registerForAllExecutors(setting); } - reloadCustomizedToolbar("NavBarToolBar"); - reloadCustomizedToolbar("MainToolBar"); + int baseVersion = ApplicationInfo.getInstance().getBuild().getBaselineVersion(); + if (baseVersion >= 182) { + //no hacks required in 2018.2+ + CustomActionsSchema.setCustomizationSchemaForCurrentProjects(); + } else { + reloadCustomizedToolbar("NavBarToolBar"); + reloadCustomizedToolbar("MainToolBar"); + } } private void reloadCustomizedToolbar(String toolbarName) { @@ -132,7 +139,7 @@ private void reloadCustomizedToolbar(String toolbarName) { Field forceUpdate = booleanFields.get("myForceUpdate"); if (forceUpdate == null) { if (booleanFields.size() != 1) { - log.warn("IDEA version isn't compatible. Plugin can work unstable. CustomisedActionGroup fields: " + booleanFields); + log.warn("IDEA version isn't compatible. Plugin can work unstable. CustomisedActionGroup fields: " + booleanFields.values()); return; } forceUpdate = booleanFields.values().iterator().next();