Add notifyOnAttach option
PR Summary
Adds the new notifyOnAttach option for an attach request. This option will have PSES create a new event with the source identifier PSES.Attached that allows the attached script to wait for the attach event.
Should wait until https://github.com/PowerShell/PowerShellEditorServices/pull/2250 is merged (or rejected).
PR Checklist
- [x] PR has a meaningful title
- [x] Summarized changes
- [NA] PR has tests
- [ ] This PR is ready to merge and is not work in progress
- If the PR is work in progress, please add the prefix
WIP:to the beginning of the title and remove the prefix when the PR is ready
- If the PR is work in progress, please add the prefix
Is the explicit option super necessary or is this something we can auto-detect? Like the combination of the options attach and script
It is not strictly necessary as you can put whatever values you want in the launch.json configuration and it'll just pass through to PSES. But these values are used for auto completion and provides hints in VSCode when you start writing the JSON configuration in launch.json. It'll also appear as yellow if you use an option not defined in the package.json so it would appear as invalid.
AFAIK there is no other way to define it, this must be statically defined and cannot be done at runtime.
@jborean93 sorry, yes I am aware, this comment should have been on the actual implementation in PSES, sorry.
I'm not sure if PSES could do it dynamically. Maybe a source generator to generate the record from the package.json but IIRC source generators don't like IO work but I could be misremembering.
@jborean93 this PR is fine, my point was I was wondering if we could do away with the setting altogether in PSES and instead detect when the notify is needed based on the other launch options. If not that's totally fine, having it as a manual specification is not a problem, just thinking about user ergonomics.
EDIT: And that can always come as a later optimization PR.