From 052340705dc6a807257c4f247a1a57f5144dfb9d Mon Sep 17 00:00:00 2001 From: Elizaveta Shashkova Date: Thu, 24 Nov 2016 21:01:19 +0300 Subject: [PATCH] Can't saw script output with Remote Interpreter and "Show command line afterwards" option (PY-21426) --- python/helpers/pydev/_pydev_bundle/pydev_console_utils.py | 5 +++-- python/helpers/pydev/pydev_run_in_console.py | 2 +- python/helpers/pydev/pydevconsole.py | 1 + .../jetbrains/python/console/PydevConsoleRunnerImpl.java | 6 +++++- .../jetbrains/python/run/PythonScriptCommandLineState.java | 5 +++++ 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/python/helpers/pydev/_pydev_bundle/pydev_console_utils.py b/python/helpers/pydev/_pydev_bundle/pydev_console_utils.py index cfe95a69226b..05196d16824c 100644 --- a/python/helpers/pydev/_pydev_bundle/pydev_console_utils.py +++ b/python/helpers/pydev/_pydev_bundle/pydev_console_utils.py @@ -419,9 +419,10 @@ class BaseInterpreterInterface: server = property(get_server) - def show_console(self): + def ShowConsole(self): server = self.get_server() - server.ShowConsole() + if server is not None: + server.ShowConsole() def finish_exec(self, more): self.interruptable = False diff --git a/python/helpers/pydev/pydev_run_in_console.py b/python/helpers/pydev/pydev_run_in_console.py index d5a5531a16b1..9d862c57a7c7 100644 --- a/python/helpers/pydev/pydev_run_in_console.py +++ b/python/helpers/pydev/pydev_run_in_console.py @@ -79,6 +79,6 @@ if __name__ == '__main__': interpreter.get_namespace().update(globals) - interpreter.show_console() + interpreter.ShowConsole() process_exec_queue(interpreter) \ No newline at end of file diff --git a/python/helpers/pydev/pydevconsole.py b/python/helpers/pydev/pydevconsole.py index 3b98a0e626dc..0c34b46e5490 100644 --- a/python/helpers/pydev/pydevconsole.py +++ b/python/helpers/pydev/pydevconsole.py @@ -314,6 +314,7 @@ def start_console_server(host, port, interpreter): server.register_function(interpreter.hello) server.register_function(interpreter.getArray) server.register_function(interpreter.evaluate) + server.register_function(interpreter.ShowConsole) # Functions for GUI main loop integration server.register_function(interpreter.enableGui) diff --git a/python/src/com/jetbrains/python/console/PydevConsoleRunnerImpl.java b/python/src/com/jetbrains/python/console/PydevConsoleRunnerImpl.java index b3b961d1cc7d..4d02dbda9ed8 100644 --- a/python/src/com/jetbrains/python/console/PydevConsoleRunnerImpl.java +++ b/python/src/com/jetbrains/python/console/PydevConsoleRunnerImpl.java @@ -420,6 +420,10 @@ public class PydevConsoleRunnerImpl implements PydevConsoleRunner { } } + protected String getRunnerFileFromHelpers() { + return PYDEV_PYDEVCONSOLE_PY; + } + private RemoteProcess createRemoteConsoleProcess(PythonRemoteInterpreterManager manager, String[] command, Map env, @@ -437,7 +441,7 @@ public class PydevConsoleRunnerImpl implements PydevConsoleRunner { commandLine.getEnvironment().putAll(env); commandLine.getParametersList().set(0, PythonRemoteInterpreterManager.toSystemDependent(new File(data.getHelpersPath(), - PYDEV_PYDEVCONSOLE_PY) + getRunnerFileFromHelpers()) .getPath(), PySourcePosition.isWindowsPath( data.getInterpreterPath()) diff --git a/python/src/com/jetbrains/python/run/PythonScriptCommandLineState.java b/python/src/com/jetbrains/python/run/PythonScriptCommandLineState.java index cacf1fde1e72..acec19271b20 100644 --- a/python/src/com/jetbrains/python/run/PythonScriptCommandLineState.java +++ b/python/src/com/jetbrains/python/run/PythonScriptCommandLineState.java @@ -117,6 +117,7 @@ public class PythonScriptCommandLineState extends PythonCommandLineState { public class PythonScriptWithConsoleRunner extends PydevConsoleRunnerImpl { private CommandLinePatcher[] myPatchers; + private String PYDEV_RUN_IN_CONSOLE_PY = "pydev/pydev_run_in_console.py"; public PythonScriptWithConsoleRunner(@NotNull Project project, @NotNull Sdk sdk, @@ -137,6 +138,10 @@ public class PythonScriptCommandLineState extends PythonCommandLineState { registerActionShortcuts(Lists.newArrayList(a), getConsoleView().getConsoleEditor().getComponent()); } + protected String getRunnerFileFromHelpers() { + return PYDEV_RUN_IN_CONSOLE_PY; + } + @Override protected GeneralCommandLine createCommandLine(@NotNull Sdk sdk, @NotNull Map environmentVariables,