public ITargetHostProcess LaunchAdapter(IAdapterLaunchInfo launchInfo, ITargetHostInterop targetInterop) { // ITargetHostInterop provides a convenience wrapper to start the process // return targetInterop.ExecuteCommandAsync(path, ""); // If you need more control use the DebugAdapterProcess if (launchInfo.LaunchType == LaunchType.Attach) { return(DebugAdapterRemoteProcess.Attach(launchInfo.LaunchJson)); } return(DebugAdapterProcess.Start(launchInfo.LaunchJson)); }
public ITargetHostProcess LaunchAdapter(IAdapterLaunchInfo launchInfo, ITargetHostInterop targetInterop) { if (launchInfo.LaunchType == LaunchType.Attach) { var debugAttachInfo = (DebugAttachInfo)_debugInfo; return(DebugAdapterRemoteProcess.Attach(debugAttachInfo)); } var debugLaunchInfo = (DebugLaunchInfo)_debugInfo; var debugPyAdapterDirectory = Path.GetDirectoryName(PythonToolsInstallPath.GetFile("debugpy\\adapter\\__init__.py")); var targetProcess = new DebugAdapterProcess(_adapterHostContext, targetInterop, debugPyAdapterDirectory); return(targetProcess.StartProcess(debugLaunchInfo.InterpreterPathAndArguments.FirstOrDefault(), debugLaunchInfo.LaunchWebPageUrl)); }