From 434ba37ad02850698cf3dbd4baaefd22db1bee7f Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Tue, 17 Apr 2018 18:00:11 +0200 Subject: [PATCH] [ui] adds "exception in a random 3rd-party plugin" action variant --- .../com/intellij/diagnostic/dropErrorActions.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/diagnostic/dropErrorActions.kt b/platform/platform-impl/src/com/intellij/diagnostic/dropErrorActions.kt index 988cf69065ca..6ca082de89c7 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/dropErrorActions.kt +++ b/platform/platform-impl/src/com/intellij/diagnostic/dropErrorActions.kt @@ -2,6 +2,7 @@ package com.intellij.diagnostic import com.intellij.ide.plugins.PluginManager +import com.intellij.ide.plugins.PluginManagerMain import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.diagnostic.Attachment import com.intellij.openapi.diagnostic.Logger @@ -30,11 +31,16 @@ class DropAnErrorWithAttachmentsAction : DumbAwareAction("Drop an error with att } } -class DropPluginErrorAction : DumbAwareAction("Drop an error in a random plugin") { +class DropPluginErrorAction : DumbAwareAction("Drop an error in a random plugin", "Hold down SHIFT for 3rd-party plugins only", null) { override fun actionPerformed(e: AnActionEvent) { - val plugins = PluginManager.getPlugins() - val victim = plugins[Random().nextInt(plugins.size)] - Logger.getInstance(TEST_LOGGER).error(TEST_MESSAGE, PluginException(TEST_MESSAGE, victim.pluginId)) + var plugins = PluginManager.getPlugins() + if (e.modifiers and InputEvent.SHIFT_MASK != 0) { + plugins = plugins.filterNot { PluginManagerMain.isDevelopedByJetBrains(it) }.toTypedArray() + } + if (plugins.isNotEmpty()) { + val victim = plugins[Random().nextInt(plugins.size)] + Logger.getInstance(TEST_LOGGER).error(TEST_MESSAGE, PluginException(TEST_MESSAGE, victim.pluginId)) + } } }