Studio Extensions in Atelier

Atelier supports Studio extensions, as provided by %Studio.Extension.Base. This means that if you rely on Studio extensions such as source control hooks, you can continue to use them in Atelier. When you connect an Atelier project to a namespace where source control hooks are enabled, any menus that you would see in Studio appear in the Atelier menu bar when you select that project or any resources in it.

If you are using Studio extensions in Atelier, you need to remember that, unlike Studio, Atelier must synchronize source files between the client, where you create and edit files, and the server, where you compile, run, and debug them. Compilation and Studio extensions, which run on the server, can make changes to your source files that create version conflicts with the version stored on the client. See Working with Atelier and Synchronization and Conflict Resolution for more information of synchronizing files.

Support for extensions in Atelier is not exactly the same as in Studio. Some features available in Studio are intentionally unsupported, and others behave somewhat differently in Atelier than they do in Studio. Most of these differences are inherent to the client-centric Eclipse model used by Atelier, and the fact that Atelier communicates with the server through stateless REST APIs instead of a constant connection. You can find the full documentation for Studio extensions at: %Studio.Extension.Base and Using Studio Source Control Hooks.

In a Studio extension, the UserAction method may be implemented to handle events that result when the user clicks on menu items or performs other actions in the editor. The following lists summarize the major differences in the behavior of the UserAction method in Studio and Atelier.

The following values for the Name argument are not implemented:

The following values for the Name argument are implemented but show differences in behavior:

The following values for the Action argument are implemented but show differences in behavior:

Two other minor differences are worth noting:

Related InterSystems documentation

%Studio.Extension.Base
Using Studio Source Control Hooks

Related concepts

Working with Atelier

Related reference

Synchronization and Conflict Resolution