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/Configuration.md
+24-21Lines changed: 24 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -137,19 +137,21 @@ First, configure one or more servers. You can use the plus sign (`+`) at the top
137
137
138
138
Provide the following values when prompted:
139
139
140
-
-**Name of new server definition** - an arbitrary name to identify this server.
141
-
-**Description (optional)** - a brief description of the server.
142
-
-**Hostname or IP address of web server** - the host for this server.
143
-
-**Port of web server** - the WebServer port number for this server.
144
-
-**Username** - the username to use in logging in to this server.
145
-
-**Confirm connection type** - the protocol used for connections, possible values are **http** and **https**.
140
+
-**Name of new server definition** - An arbitrary name to identify this server.
141
+
-**Description (optional)** - A brief description of the server.
142
+
-**Hostname or IP address of web server** - The host of the InterSystems server, or a standalone web server that publishes the web services of your target InterSystems server via the InterSystems Web Gateway.
143
+
-**Port of web server** - The WebServer port number for this server's private web server, or the port number of the standalone web server.
144
+
-**Username** - The username to use when logging in to this server.
145
+
-**Confirm connection type** - The protocol used for connections. Possible values are **http** and **https**.
146
146
147
-
Once you have entered these values, the server definition is stored in your user-level `settings.json` file, and the server appears at the top of the **Recent** folder in the InterSystems Tools view.
147
+
Once you have entered these values the server definition is stored in your user-level `settings.json` file, and the server appears at the top of the **Recent** folder in the InterSystems Tools view.
148
148
149
149
If you want to store a password for this server definition, select **Store Password in Keychain** from the context menu for the server in the InterSystems Tools view. If you do not store a password, users are prompted for a password each time they connect to the server. To remove a password from the keychain, Select **Clear Password from Keychain** from the server context menu. For more information, see [Server Context Menu](../extensionui#server-context-menu).
150
150
151
151
You can create a configuration for a server that is not currently running.
152
152
153
+
If you are connecting via a standalone web server which bublishes services for more than one InterSystems server you will need to edit the server configuration in your `settings.json` file to add a `pathPrefix` property. See the next section.
154
+
153
155
## Editing a Server Configuration
154
156
155
157
If you need to modify a server configuration select **File > Preferences > Settings** (**Code > Preferences > Settings** on Mac) from the menu. Select the **User** settings level. Find **Extensions** in the list in the left pane of the editor window, click to open, then select **InterSystems Server Manager** from the list to find the **InterSystems Server Manager** area of the edit pane, as illustrated in the following screen shot:
@@ -180,23 +182,24 @@ The server configuration in *settings.json* looks similar to the following, with
180
182
```
181
183
The components of the server definition are as follows:
182
184
183
-
-**iris-1** - An arbitrary name to identify this server
184
-
-**webServer** - The collection of properties that define the web server
185
-
-**scheme** - The protocol used for connections
186
-
-**host** - the host for this server
187
-
-**port** - the WebServer port number for this server
188
-
-**username** - the username to use in logging in to this server
189
-
-**password** - password for the specified username. Entering the password in this file is acceptable only in limited situations with very low need for security.
185
+
-**iris-1** - An arbitrary name to identify this server.
186
+
-**webServer** - The collection of properties that define the web server through which you will connect. This can either be the InterSystems server's private web server or a standalone web server configured as an InterSystems Web Gateway.
187
+
-**scheme** - The protocol used for connections (http or https).
188
+
-**host** - The host of the web server.
189
+
-**port** - The port number for this web server.
190
+
-**pathPrefix** - Only required when connecting through a standalone web server that publishes the target server's web services under a subfolder.
191
+
-**username** - The username to use in logging in to this server.
192
+
-**password** - Password for the specified username. Entering the password as plaintext in this file is acceptable only in limited situations with very low need for security.
190
193
191
-
If you do not store the password securely in the system Keychain or add it to the server definition, anyone using the server needs to supply the password. The InterSystems Server Manager provides the following commands for managing stored passwords in the Command Palette:
194
+
If you do not store the password securely in your workstation keychain or add it to the server definition, anyone using the server needs to supply the password. The InterSystems Server Manager provides the following commands for managing stored passwords in the Command Palette:
192
195
193
-
-**InterSystems Server Manager: Clear Password from Keychain** - remove the password for a selected server
194
-
-**InterSystems Server Manager: Store Password in Keychain** - select a server or create a new one and enter a password
196
+
-**InterSystems Server Manager: Clear Password from Keychain** - Remove the password for a selected server.
197
+
-**InterSystems Server Manager: Store Password in Keychain** - Select a server or create a new one, then enter a password.
195
198
196
199
{: #config-server-conn}
197
200
## Configuring a Server Connection
198
201
199
-
Open the folder where you want client-side files to be located. Select the **ObjectScript Explorer** button on the Activity Bar. Select the **Choose Server and Namespace** button. This action opens a dialog that lets you select a server, or create a new one. Once you have selected a server and namespace, connection configuration is complete. VS Code adds the server and namespace to the status bar, as shown in the following screen shot.
202
+
Open the folder where you want client-side files to be located. Select the **ObjectScript Explorer** button on the Activity Bar. Select the **Choose Server and Namespace** button. This action opens a dialog that lets you select a server or create a new one. Once you have selected a server and namespace, connection configuration is complete. VS Code adds the server and namespace to the status bar, as shown in the following screen shot.
200
203
201
204

202
205
@@ -218,9 +221,9 @@ The connection configuration looks like this:
218
221
219
222
The components of this configuration are:
220
223
221
-
-**ns** - namespace to use on the server
222
-
-**server** - server name as specified in the server configuration
223
-
-**active** - specifies whether the connection is active.
224
+
-**ns** - Namespace to use on the server
225
+
-**server** - Server name as specified in the server configuration
226
+
-**active** - Specifies whether the connection is active.
Copy file name to clipboardExpand all lines: docs/RunDebug.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -113,3 +113,13 @@ When starting **objectscript launch** debug session, make sure that the file con
113
113
This extension uses WebSockets to communicate with the InterSystems server during debugging. If you are experiencing issues when trying to start a debugging session, check that the InterSystems server's web server allows WebSocket connections.
114
114
115
115
Debugging commands and items on the **Run** menu function much as they do for other languages supported by VS Code. For information on VS Code debugging, see the documentation resources listed at the start of this section.
116
+
117
+
## Troubleshooting Debugger Issues
118
+
119
+
If you are experiencing issues using the debugger, please follow these steps before opening an issue on GitHub:
120
+
121
+
1. Open a terminal on your server and `zn` to the namespace containing the class or routine you are debugging.
122
+
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")`.
123
+
3. In VS Code, start a debugging session using the configuration that produces the error.
124
+
4. Once the error appears, copy the contents of the `^IRIS.Temp.Atelier("debug")` global and add it to your GitHub issue.
125
+
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.
Copy file name to clipboardExpand all lines: docs/SettingsReference.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ The extensions in the InterSystems ObjectScript Extension Pack provide many sett
57
57
|`"objectscript.export.dontExportIfNoChanges"`| Do not rewrite the local file if the content is identical to what came from the server. |`boolean`|`false`||
58
58
|`"objectscript.export.exactFilter"`| SQL filter to limit what to export. |`string`|`""`| The filter is applied to document names using the [LIKE predicate](https://irisdocs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_like) (i.e. `Name LIKE 'exactFilter'`). If provided, `objectscript.export.filter` is ignored. |
59
59
|`"objectscript.export.filter"`| SQL filter to limit what to export. |`string`|`""`| The filter is applied to document names using the [LIKE predicate](https://irisdocs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_like) (i.e. `Name LIKE '%filter%'`). |
60
-
|`"objectscript.export.folder"`| Folder for exported source code within workspace. |`string`|`"src"`||
60
+
|`"objectscript.export.folder"`| Folder for exported source code within workspace. |`string`|`"src"`|This setting is relative to the workspace folder root. |
61
61
|`"objectscript.export.generated"`| Export generated source code files, such as INTs generated from classes. |`boolean`|`false`||
62
62
|`"objectscript.export.map"`| Map file names before export, with regexp pattern as a key and replacement as a value. |`object`|`{}`| For example, `{ \"%(.*)\": \"_$1\" }` to make % classes or routines use underscore prefix instead. |
63
63
|`"objectscript.export.mapped"`| Export source code files mapped from a non-default database. |`boolean`|`true`||
@@ -66,6 +66,7 @@ The extensions in the InterSystems ObjectScript Extension Pack provide many sett
66
66
|`"objectscript.format.commandCase"`| Case for commands. |`"upper"`, `"lower"` or `"word"`|`"word"`| Has no effect if the `InterSystems Language Server` extension is installed and enabled. |
67
67
|`"objectscript.format.functionCase"`| Case for system functions and system variables. |`"upper"`, `"lower"` or `"word"`|`"word"`| Has no effect if the `InterSystems Language Server` extension is installed and enabled. |
68
68
|`"objectscript.ignoreInstallServerManager"`| Do not offer to install the [intersystems-community.servermanager](https://marketplace.visualstudio.com/items?itemName=intersystems-community.servermanager) extension. |`boolean`|`false`||
69
+
|`"objectscript.importOnSave"`| Automatically save a client-side InterSystems file on the server when saved in the editor. |`boolean`|`true`||
69
70
|`"objectscript.multilineMethodArgs"`| List method arguments on multiple lines, if the server supports it. |`boolean`|`false`| Only supported on IRIS 2019.1.2, 2020.1.1+, 2021.1.0+ and subsequent versions! On all other versions, this setting will have no effect. |
70
71
|`"objectscript.openClassContracted"`| Automatically collapse all class member folding ranges when a class is opened for the first time. |`boolean`|`false`||
71
72
|`"objectscript.overwriteServerChanges"`| Overwrite a changed server version without confirmation when importing the local file. |`boolean`|`false`||
0 commit comments