/** * Launches the python process. * * <p>Modelled after Ant & Java runners see WorkbenchLaunchConfigurationDelegate::launch */ @Override public void launch( ILaunchConfiguration conf, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException { if (monitor == null) { monitor = new NullProgressMonitor(); } monitor.beginTask("Preparing configuration", 1); monitor.worked(1); ProcessServer p = new ProcessServer(); String label = "Debug Server"; HashMap<String, String> processAttributes = new HashMap<String, String>(); processAttributes.put(IProcess.ATTR_PROCESS_TYPE, Constants.PROCESS_TYPE); processAttributes.put(IProcess.ATTR_PROCESS_LABEL, label); processAttributes.put(DebugPlugin.ATTR_CAPTURE_OUTPUT, "true"); IProcess pro = DebugPlugin.newProcess(launch, p, label, processAttributes); RemoteDebuggerServer.getInstance().setLaunch(launch, p, pro); }
/** @return true if the debug server is running and false otherwise. */ public static boolean isRunning() { RemoteDebuggerServer instance = RemoteDebuggerServer.getInstance(); return !instance.isTerminated(); }
/** This method will stop the debug server. */ public static void stopServer() { RemoteDebuggerServer.getInstance().stopListening(); }
/** This method will start the debug server. */ public static void startServer() { RemoteDebuggerServer.getInstance(); // doing that, it will automatically start it PydevdServerLaunchShortcut s = new PydevdServerLaunchShortcut(); s.launch((IResource[]) null, "run"); }