You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/RunDebug.md
+35-1Lines changed: 35 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -121,10 +121,44 @@ The InterSystems ObjectScript Extension provides a [Webview](https://code.visual
121
121
122
122
## Troubleshooting Debugger Issues
123
123
124
-
If you are experiencing issues using the debugger, please follow these steps before opening an issue on GitHub:
124
+
If you are experiencing issues using the debugger, please follow these steps before opening an issue on GitHub. Note that the trace global may contain confidential information, so you should review the contents and mask/remove anything that you want to keep private.
125
125
126
126
1. Open a terminal on your server and `zn` to the namespace containing the class or routine you are debugging.
127
127
2. Run the command `Kill ^IRIS.Temp.Atelier("debug")`, then `Set ^IRIS.Temp.Atelier("debug") = 1` to turn on the Atelier API debug logging feature. If you are on Caché or Ensemble, the global is `^CacheTemp.ISC.Atelier("debug")`.
128
128
3. In VS Code, start a debugging session using the configuration that produces the error.
129
129
4. Once the error appears, copy the contents of the `^IRIS.Temp.Atelier("debug")` global and add it to your GitHub issue.
130
130
5. After you capture the log, run the command `Kill ^IRIS.Temp.Atelier("debug")`, then `Set ^IRIS.Temp.Atelier("debug") = 0` to turn logging back off again.
131
+
132
+
{: #terminal}
133
+
## Using the WebSocket Terminal
134
+
135
+
The InterSystems ObjectScript Extension provides support for a WebSocket-based command-line interface for executing ObjectScript commands on a connected server. The server can be on the same system as VS Code, or a remote system. This feature is only supported when connecting to InterSystems IRIS version 2023.2 or later.
136
+
137
+
The WebSocket terminal supports the following features:
138
+
139
+
- VS Code's [shell integration](https://code.visualstudio.com/docs/terminal/shell-integration) feature so your command history and output will be captured by VS Code and can be accessed by its UI.
140
+
- Multi-line editing. An additional editable line will be added when the user presses `Enter` and there are unclosed `{` or `(` in the command input.
141
+
- Syntax coloring for command input. (Toggleable using the `objectscript.webSocketTerminal.syntaxColoring` setting)
142
+
- Syntax checking for entered command input with detailed error messages reported along with the standard `<SYNTAX>` error.
143
+
- Many features of the [standard terminal](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GTER_intro), including:
- Shells like SQL (`Do $SYSTEM.SQL.Shell()`) and Python (`Do $SYSTEM.Python.Shell()`)
149
+
150
+
The WebSocket terminal does not support [command-line debugging](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_debug) since the InterSystems ObjectScript Extension contains an interactive debugger. Users are also discouraged from using [routine editing commands](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_ZCOMMANDS) since VS Code with the InterSystems ObjectScript Extension Pack provides an excellent ObjectScript editing experience.
151
+
152
+
Note that the terminal process is started using the JOB command, so if you have a [`^%ZSTART` routine](https://docs.intersystems.com/iris20223/csp/docbook/Doc.View.cls?KEY=GSTU_customize_startstop) enabled the `JOB` subroutine will be called at the start of the process, not `LOGIN` like the standard terminal. Also, the [`ZWELCOME` routine](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GTER_intro#GTER_zwelcome) will not be run before the first command prompt is shown.
153
+
154
+
The WebSocket terminal can be opened from [the command palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) using the `ObjectScript: Launch WebSocket Terminal` command. The WebSocket terminal connection will be established using the current server connection. A WebSocket terminal connection can also be opened from the [Terminal Profiles menu](https://code.visualstudio.com/docs/terminal/basics#_terminal-shells).
155
+
156
+
## Troubleshooting WebSocket Terminal Issues
157
+
158
+
If you are experiencing issues using the WebSocket terminal, please follow these steps before opening an issue on GitHub. Note that the trace global may contain confidential information, so you should review the contents and mask/remove anything that you want to keep private.
159
+
160
+
1. Open a standard terminal on your server and `zn` to the namespace containing the class or routine you are debugging.
161
+
2. Run the command `Kill ^IRIS.Temp.Atelier("terminal")`, then `Set ^IRIS.Temp.Atelier("terminal") = 1` to turn on the Atelier API terminal logging feature.
162
+
3. In VS Code, launch the WebSocket terminal and run the commands that produce the error.
163
+
4. Once the error appears, copy the contents of the `^IRIS.Temp.Atelier("terminal")` global and add it to your GitHub issue.
164
+
5. After you capture the log, run the command `Kill ^IRIS.Temp.Atelier("terminal")`, then `Set ^IRIS.Temp.Atelier("terminal") = 0` to turn logging back off again.
Copy file name to clipboardExpand all lines: docs/SettingsReference.md
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -82,6 +82,7 @@ The extensions in the InterSystems ObjectScript Extension Pack provide many sett
82
82
|`"objectscript.studioActionDebugOutput"`| Log in JSON format the action that VS Code should perform as requested by the server. |`boolean`|`false`| Actions will be logged to the `ObjectScript` Output channel. |
83
83
|`"objectscript.suppressCompileErrorMessages"`| Suppress popup messages about errors during compile, but still focus on Output view. |`boolean`|`false`||
84
84
|`"objectscript.suppressCompileMessages"`| Suppress popup messages about successful compile. |`boolean`|`true`||
85
+
|`"objectscript.webSocketTerminal.syntaxColoring"`| Enable syntax coloring for command input in the InterSystems WebSocket Terminal. |`boolean`|`true`||
0 commit comments