Search

Search the portal for all insights below:

Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages
Other Sectors

Introducing the InterSystems ObjectScript 1.0 extension

Since our last update on the InterSystems ObjectScript extension to Visual Studio Code (VS Code) back in June, significant developments have taken place. So much so that we’re thrilled to announce the release of version 1.0 of the extension, which offers InterSystems developers a host of new capabilities.

To find out more about the VS Code – ObjectScript 1.0 extension and the work that has taken place to get it to this point, we sat down with Raj Singh, Product Manager, Developer Experience at InterSystems. Here Raj gives us a glimpse of what users of the ObjectScript 1.0 extension can expect.

What does the ObjectScript 1.0 extension offer that 0.9 didn’t?

One of the biggest differences between 1.0 and 0.9 is the inclusion of InterSystems Language Server. With InterSystems technology, getting a lot of the information you need for development work requires talking to the server, but ObjectScript is an unusual programming language as, unlike with Python or JavaScript, for example, users can’t compile it separately from the server. This means there is no way to get any documentation on the built-in classes, to understand the relationship with classes and compile without having a server.

As a result, adding a language server was critical to ensure that the ObjectScript extension is useful for developers. Before the release of 1.0, users of the extension had to rely on intelligence that could be built into the extension, which was a major limitation.

The latest release also offers increased security, allowing users to store their password encrypted within their operating system’s “key store”.

What benefits does the InterSystems Language Server offer?

The addition of the language server allows you to introspect all the built-in classes, but also adds the classes you write as a developer. The InterSystems Language Server sits on the developer’s computer between VS Code and the InterSystems IRIS server, and constantly communicates with the server. This allows it to provide autocomplete capabilities when you search for a class and retrieve the documentation for classes.

The language server takes IntelliSense, meaning the in-IDE documentation and introspection of code – to a whole new level! In short, it is a lifeline for development work.

Users also gain syntax colouring, and eventually, not just for ObjectScript but also other programming languages, which are often combined within an ObjectScript class. These complicated combinations of languages will all be handled by the language server and coloured properly. Without it, when developers switch to other languages within ObjectScript, they’d receive errors or potentially no colouring at all – so this really is a game changer.

How was the extension built?

For this initiative, we formed a project management committee made up of me and a colleague from the InterSystems team and two members of the developer community – including John Murray who gave the last update. This new, collaborative way of working allowed us to try out community testing for the first time, which took some of the pressure off our internal teams, and also gave the community early access to the latest release.

How are InterSystems developers currently using the extension?

We can see that already the VS Code – ObjectScript 1.0 extension is becoming the IDE of choice among our developers. There has been absolutely no resistance to switching from Atelier users and we expect to see more and more Studio users migrating to make use of the mixed way of working the extension facilitates. Studio is Windows-only and InterSystems-only. VS Code allows developers to work more naturally, using the same IDE for all the languages needed by their application.

Migrating to using the VS Code ObjectScript extension really couldn’t be easier for developers using server-side source control as it just requires them to connect to their server. In terms of the backend set up, for example, there should be very few changes to their operations. A major advantage of the extension is being able to do client-side source control management using GitHub, which was previously very difficult.

The extension forms part of a pack that can be downloaded individually or in a wrapper. By opting to install the wrapper, developers will be able to make use of all three ObjectScript extensions and will automatically receive updates as they are released, creating a seamless user experience.

What’s next for the InterSystems ObjectScript extension project?

One of the initiatives we’re currently looking into is improving support for other languages and making XML imports easier. This has been a really collaborative effort and we want this relationship with the InterSystems developer community to continue as we move into this new phase with version 1.0 so would encourage members of the community to be active on the GitHub issues list.

If you’re a developer who’s using the latest version of the extension, we’d love to hear your feedback!


Raj Singh

Raj Singh is a product manager at InterSystems focused on developer experience. He pioneered Web mapping-as-a-service in the late 1990s with Syncline, a startup he co-founded. After that he finished his PhD in Urban Planning at MIT, creating a distributed computing architecture for urban information systems based on web services design patterns. He then worked for a decade on spatial data interoperability challenges with the Open Geospatial Consortium. Prior to joining InterSystems, Raj worked in developer relations for database and data science cloud offerings at IBM.