Echo feature allows redirecting the output AND duplicates the write to the current device.
For example, in a terminal :
Do ##class(IORedirect.Redirect).ToString(1)
Write "this an echo test"
Do ##class(IORedirect.Redirect).RestoreIO()
Set outputString = ##class(IORedirect.Redirect).Get()
Write "Var outputString : ", outputString
Redirect the write to a string variable and also write the text in the terminal.
This feature is available with :
Do ##class(IORedirect.Redirect).ToString(1)
Do ##class(IORedirect.Redirect).ToStream(stream, 1)
Do ##class(IORedirect.Redirect).ToFileCharacter(filename, 1)
Do ##class(IORedirect.Redirect).ToGlobal($Name(^||IORedirect), 1)
Echo is enabled with the value 1 on the last argument.
Option to break on error when a handler exists (Try/Catch, $ETRAP or $ZTRAP).
Display WRITE command output when debugging.
Support configurationless debugging. If your workspace root folders already contain a launch.json file in the .vscode folder you will be prompted to delete it on first use.
Support running without debugging.
Make the 'Pause' button work.
Offer 'Run' and 'Debug' CodeLenses above each classmethod. Settings (e.g. "serenji.codeLenses.debug.cls": false) allow these to be hidden per file type.
Contribute 'Run' and 'Debug' options to editor command button.
Use dynamic configurations to leverage VS Code's support for multiple concurrent debug sessions and consoles.
Improve prompting for entrypoint and arguments when starting to debug a classmethod / procedure / subroutine / extrinsic function.
Return focus to class or MAC document after debugging through its INT code.
Add helptext and commands to empty Debug view.
Pre-fill namespace selector where possible when launching debugging.
Include namespaces using remote databases in namespace selector.
Use server's connectTimeout setting during debug connect.
Add command for requesting a debug license.
Improve messages when debug license is needed.
Make 'Never' option on debug license dialog work properly.
Fix double-encoded debug license request email link bug.
Add walkthrough to Welcome page.
Add guidance to empty Explorer view.
Contribute commands to Remote Indicator (left end of status bar).
Coexist better with other ObjectScript extensions.
Add Serenji commands to InterSystems Server Manager tree's namespaces.
Add Explorer context menu option for adding Serenji folder to workspace.
Add new folder to end of workspace rather than start.
Use a different background for read-only documents when not debugging. Customizable as serenji.readonly.background, for example: