-
Notifications
You must be signed in to change notification settings - Fork 237
Open
Labels
Description
By creating a Proxy function of Set-PSBreakpoint
, we can fire the breakpoint event as seen in the DAP spec to notify the client that a breakpoint has been added.
This is the really the final feature needed to provide the "console debugging in PSES experience" that feels totally integrated.
Creating a Proxy cmdlet is easy with:
$Metadata = [System.Management.Automation.CommandMetaData]::new((Get-Command Set-PSBreakpoint))
[System.Management.Automation.ProxyCommand]::Create($Metadata)
Then we'll need a way to give the EditorObject
the state of the debugger... but mainly the JsonRpcServer
object so that we can use it to send the SendNotification(
method to send the breakpoint information to the client.
Then we take that proxy function and add something like:
$psEditor.Components
.GetService([OmniSharp.Extensions.LanguageServer.Protocol.Server.ILanguageServer])
.SendNotification("breakpoint", [OmniSharp.Extensions.DebugAdapter.Protocol.Events.BreakpointEvent]::new(<#...#>))
with some error handling and we should be good to go.
rjmholt
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
SeeminglyScience commentedon Nov 4, 2019
SMA's
Debugger
also has aBreakpointUpdated
event that might be a little bit more sturdy.