Using InterSystems Server VSCode extension in client side mode with projects
Hi everyone,
I was wondering if it is possible to use the InterSystems Server VSCode Extension to work in client side mode but importing locally the content of a project without having to choose the files manually.
It would be awesome to have all project-related assets synchronized in one go. Relying on InterSystems Projects (.prj files) would be convenient for several reasons:
- Projects bundle different file types (CLS, MAC, INT, CSP). Importing the project as a whole is much more efficient than picking individual files piece by piece.
- Manual selection is error-prone; using a project ensures that no dependency or specific file is left behind during the transition to client-side.
- It’s the easiest way to share work. Telling a colleague to "work on Project X" is far more effective than sending a list of files.
- For those monitoring the server or working in heterogeneous teams, knowing which classes belong to a specific project is vital for tracking changes and maintaining order.
Is there a way to make the VS Code extension "project-aware" when importing files locally?
Comments
The InterSystems Server VSCode Extension does not directly support importing all files within a project (.prj) locally in client-side mode based on the project file. You need to manually select and export files from the server to your client-side workspace as follows:
- Navigate to the InterSystems view container by selecting the InterSystems button.
- Within the ObjectScript Explorer view, locate and select the documents (files) to export from the server to your client workspace.
- Right-click on your selection and choose “Export” from the context menu. Alternatively, use the Command Palette to run the “ObjectScript: Export Code from Server” command and select the desired files for export.
- Files are exported to the
/src/sub-folder within your workspace root by default. This can be configured using the “objectscript.export.folder” setting 12.
While this process allows exporting multiple files at once, automatic synchronization of a project’s entire scope using its .prj file is not mentioned. Synchronization of individual files or managing dependencies across a project still requires careful configuration and manual verification 13.
Sources:
Your 3rd point particularly interests me:
It’s the easiest way to share work. Telling a colleague to "work on Project X" is far more effective than sending a list of files.
What are you currently doing for source control?