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/ServerSide.md
+47-3Lines changed: 47 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,11 +5,14 @@ permalink: /serverside/
5
5
nav_order: 6
6
6
---
7
7
8
-
# Configuration for Server-side Editing
8
+
# Server-side Editing
9
9
10
10
You can configure the InterSystems ObjectScript extension to edit code directly on the server, using the [multi-root workspaces](https://code.visualstudio.com/docs/editor/multi-root-workspaces) VS Code feature. This type of configuration is useful in cases where source code is stored in a Source Code Management (SCM) product interfaced to the server. For example you might already be using the Source Control menu in InterSystems Studio or Portal, implemented by a source control class that extends `%Studio.SourceControl.Base`.
11
11
12
-
First configure the `intersystems.servers` entry for your server, as described in [Configuration](../configuration).
12
+
{: #config-server-side}
13
+
## Configuring for Server-side Editing
14
+
15
+
First configure the `intersystems.servers` entry for your server, as described in [Configuring a Server](../configuration#config-server).
13
16
14
17
Next create a workspace for editing code directly on the server:
15
18
@@ -30,7 +33,7 @@ Next create a workspace for editing code directly on the server:
30
33

31
34
1. If you want to reopen this workspace in the future, use the command **File > Save Workspace As...** to save it as a `.code-workspace` file.
32
35
33
-
Note that the ObjectScript button is not visible in the Activity Bar, because the files listed in the Explorer view are all on the server, so it is not needed for this configuration.
36
+
Note that the ObjectScript button is not visible in the Activity Bar. Because the files listed in the Explorer view are all on the server, it is not needed for this configuration.
34
37
35
38
The `.code-workspace` file is a JSON file which you can edit directly, as described in the section [VS Code Workspaces](../configuration/#code-workspaces). A simple example looks like this:
36
39
```json
@@ -75,6 +78,47 @@ Workspaces can also consist of a mixture of server-side folders and local folder
75
78
76
79
Root folders can be re-sequenced using drag/drop in the Explorer view, or by editing the order their definition objects appear within the `folders` array in the JSON.
77
80
81
+
## Configuring Storage for Folder-specific Settings
82
+
83
+
When you use VS Code to edit source code on the client, the settings model allows you to specify folder-specific settings in a `.vscode\settings.json` file located in a workspace root folder. These settings take precedence when you work under that workspace root folder.
84
+
85
+
If you use an isfs-type workspace to operate directly in a namespace on a server, you need to configure that server to support storing and serving up the `.vscode\settings.json` file. The `.vscode` subfolder of a workspace root folder also stores folder-specific code snippets and debug configurations. These are available when using this configuration.
86
+
87
+
Use the **Management Portal** to create a web application named **_vscode** on the server. Select **System Administration > Security > Applications > Web Applications**, then **Create New Web Application**:
88
+
89
+

-**CSP File Settings: Physical Path** - enter a physical path appropriate for your platform and install folder
100
+
-**CSP File Settings: Web Settings** - Clear **Auto Compile**
101
+
102
+
Be sure to save the configuration. If you have an isfs-type workspace root folder that connects to a namespace on this server, it can now write and read folder-specific settings:
103
+
104
+

105
+
106
+
You can also create a folder-specific snippets file via **Preferences: Configure User Snippets**:
0 commit comments