diff --git a/src/PowerShellEditorServices.Protocol/Server/DebugAdapter.cs b/src/PowerShellEditorServices.Protocol/Server/DebugAdapter.cs index 29142a83f..3e5a06d39 100644 --- a/src/PowerShellEditorServices.Protocol/Server/DebugAdapter.cs +++ b/src/PowerShellEditorServices.Protocol/Server/DebugAdapter.cs @@ -102,9 +102,29 @@ protected Task LaunchScript(RequestContext requestContext) // Ensure the read loop is stopped this.editorSession.ConsoleService.CancelReadLoop(); - return editorSession.PowerShellContext - .ExecuteScriptWithArgs(this.scriptToLaunch, this.arguments, writeInputToHost: true) - .ContinueWith(this.OnExecutionCompleted); + // Is this an untitled script? + Task launchTask = null; + + if (this.scriptToLaunch.StartsWith("untitled")) + { + ScriptFile untitledScript = + this.editorSession.Workspace.GetFile( + this.scriptToLaunch); + + launchTask = + this.editorSession + .PowerShellContext + .ExecuteScriptString(untitledScript.Contents, true, true); + } + else + { + launchTask = + this.editorSession + .PowerShellContext + .ExecuteScriptWithArgs(this.scriptToLaunch, this.arguments, writeInputToHost: true); + } + + return launchTask.ContinueWith(this.OnExecutionCompleted); } private async Task OnExecutionCompleted(Task executeTask)