public AddGradleDslPluginAction() { getTemplatePresentation() .setDescription(GradleBundle.message("gradle.codeInsight.action.apply_plugin.description")); getTemplatePresentation() .setText(GradleBundle.message("gradle.codeInsight.action.apply_plugin.text")); getTemplatePresentation().setIcon(GradleIcons.GradlePlugin); Collection<KeyValue> pluginDescriptions = new ArrayList<KeyValue>(); for (GradlePluginDescriptionsExtension extension : GradlePluginDescriptionsExtension.EP_NAME.getExtensions()) { for (Map.Entry<String, String> pluginDescription : extension.getPluginDescriptions().entrySet()) { pluginDescriptions.add( KeyValue.create(pluginDescription.getKey(), pluginDescription.getValue())); } } myPlugins = pluginDescriptions.toArray(new KeyValue[pluginDescriptions.size()]); Arrays.sort( myPlugins, new Comparator<KeyValue>() { @Override public int compare(KeyValue o1, KeyValue o2) { return String.valueOf(o1.getKey()).compareTo(String.valueOf(o2.getKey())); } }); }