PowerShellEditorServices
PowerShellEditorServices copied to clipboard
Variables should reflect changes made by the user in the debug console
If the user modifies, add or removes a variable in the debug console during a debug stop, that should be reflected after execution of their command.
We will probably need to re-fetch the variables as we can't rely on examining the executed expression for simple variable assignment. The user could be using Add/Clear/Remove/Set-Variable or they may be manipulating the variable drive.
One problem we'll have here is that VS Code doesn't give us a way to notify the editor that variables have changed need to be refreshed. We may be able to ask for this though!
OK that has been addressed by the VSCode team. Yay!
Awesome news.
Oops. Re-opening this as it is a separate issue from the variable dirty indicator and it is not fixed. :-)
Ahhh I guess it's not being updated when the user types in something that changes a variable value :) Makes sense. We'd need some way to signal variable changes to them. I wonder if this is even something they'd be interested in adding? Will probably require a feature request here:
https://github.com/Microsoft/vscode-debugadapter-node
If they want to better support REPL friendly languages I think they would want this. I also think it would be slick if they allowed the user to edit a variable's value directly in the "variables" tree view while the debugger is stopped. Of course, the debug adapter would need to support such an operation.
I seem to recall that they have the desire to allow variable editing, but I can't remember if that was a bug on the VS Code repo or from some e-mail thread. Either way, I think you're right, they'll definitely need to have the variable tree up to date for REPL friendly languages.
Circling back to this. If I modify the value in the debug console and step over in the debugger, the value does change:
Is this what this issue was about or was it more about changing the variable and have it immediately updated in the debug pane?
Right, they don't give us a way to notify the UI that the variable has changed "out of band" so there's currently not a way to accomplish this (that I'm aware of).