diff --git a/python/pluginResources/messages/PyBundle.properties b/python/pluginResources/messages/PyBundle.properties
index 6fb7336d0c70..88eba4634246 100644
--- a/python/pluginResources/messages/PyBundle.properties
+++ b/python/pluginResources/messages/PyBundle.properties
@@ -742,9 +742,9 @@ console.table.failed.to.load=Failed to load:
form.debugger.save.call.signatures=Save call signatures
compile.cython.extensions.title=Compile Cython extensions
-compile.cython.extensions.help=How does it work
+compile.cython.extensions.help=How does it workLearn more \u2197
compile.cython.extensions.install=Install
-compile.cython.extensions.notification=Python Debugger Extension Available
+compile.cython.extensions.notification=Python debugger extension available
compile.cython.extensions.error=Compile Cython Extensions Error
run.debug.shadowing.name.import.error.title=Looks like {0} shadows standard library file name. This may cause unexpected Run/Debug action behavior
@@ -863,7 +863,7 @@ debugger.dataViewer.switch.between.tables.gotIt.link=Switch mode
debugger.remote.waiting.for.process.connection=Waiting for process connection\u2026
debugger.remote.waiting.for.connection=Waiting for connection
debugger.cython.python.run.configuration.should.be.selected=Python Run Configuration should be selected
-debugger.cython.extension.speeds.up.python.debugging=Cython extension speeds up Python debugging
+debugger.cython.extension.speeds.up.python.debugging=Cython extension speeds up Python debugging
Learn more \u2197
debugger.cython.extension.permission.denied=Permission denied
debugger.cython.extension.gcc=Command 'gcc' failed with exit status 1
debugger.cython.extension.gcc.failed=\n\nInstall a C compiler in order to build Cython extensions for the debugger.\n
diff --git a/python/pydevSrc/src/com/jetbrains/python/debugger/pydev/RemoteDebugger.java b/python/pydevSrc/src/com/jetbrains/python/debugger/pydev/RemoteDebugger.java
index 27cd3150e9ea..424d862cafc7 100644
--- a/python/pydevSrc/src/com/jetbrains/python/debugger/pydev/RemoteDebugger.java
+++ b/python/pydevSrc/src/com/jetbrains/python/debugger/pydev/RemoteDebugger.java
@@ -589,7 +589,7 @@ public class RemoteDebugger implements ProcessDebugger {
}
}
catch (Throwable t) {
- // shouldn't interrupt reader thread
+ // shouldn't interrupt the reader thread
LOG.error(t);
}
}
diff --git a/python/src/com/jetbrains/python/debugger/PyCythonExtensionWarning.java b/python/src/com/jetbrains/python/debugger/PyCythonExtensionWarning.java
index e54c7e9da0e8..246a78f9df75 100644
--- a/python/src/com/jetbrains/python/debugger/PyCythonExtensionWarning.java
+++ b/python/src/com/jetbrains/python/debugger/PyCythonExtensionWarning.java
@@ -8,7 +8,10 @@ import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.execution.process.*;
import com.intellij.execution.util.ExecUtil;
+import com.intellij.ide.IdeBundle;
import com.intellij.notification.Notification;
+import com.intellij.notification.NotificationAction;
+import com.intellij.notification.NotificationListener;
import com.intellij.notification.NotificationType;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
@@ -56,8 +59,18 @@ public final class PyCythonExtensionWarning {
PyBundle.message("debugger.cython.extension.speeds.up.python.debugging"),
NotificationType.INFORMATION);
notification.setSuggestionType(true);
+ notification.setListener(NotificationListener.URL_OPENING_LISTENER);
+
notification.addAction(createInstallAction(notification, project));
- notification.addAction(createDocsAction());
+
+ notification.addAction(new NotificationAction(IdeBundle.message("label.dont.show")) {
+ @Override
+ public void actionPerformed(@NotNull AnActionEvent e, @NotNull Notification notification) {
+ notification.setDoNotAskFor(null);
+ notification.expire();
+ }
+ });
+ notification.configureDoNotAskOption("CythonDebuggerExtensionAvailable", PyBundle.message("compile.cython.extensions.notification"));
notification.notify(project);
}
@@ -72,16 +85,6 @@ public final class PyCythonExtensionWarning {
};
}
- private static AnAction createDocsAction() {
- return new DumbAwareAction(PyBundle.message("compile.cython.extensions.help")) {
-
- @Override
- public void actionPerformed(@NotNull AnActionEvent e) {
- HelpManager.getInstance().invokeHelp("Cython_Speedups");
- }
- };
- }
-
private static boolean shouldSuppressNotification(@NotNull Project project) {
if (ProjectUtil.isNotificationSilentMode(project)) return true;
final RunManager runManager = RunManager.getInstance(project);