Announcement John Murray · May 22, 2023

If you have already built unit tests using the %UnitTest framework, or are thinking about doing so, please take a look at InterSystems Testing Manager.

Without leaving VS Code you can now browse your unit tests, run or debug them, and view previous run results.

InterSystems Testing Manager works with both of the source code location paradigms supported by the ObjectScript extension. Your unit test classes can either be mastered in VS Code's local filesystem (the 'client-side editing' paradigm) or in a server namespace ('server-side editing').

26
1 1134
Announcement John Murray · Apr 21, 2023

Our gj :: codeSpex extension for VS Code, which is part of the DX Jetpack, allows documentation to be displayed inline while you are coding classes. In some cases the documentation is extensive, and the lack of scrolling support in the VS Code comment element we are using was degrading the DX.

By contributing a pull request to the VS Code project (my 94th accepted in the past four years) I was able to get this resolved. It landed in today's Insiders and will reach the general release (a.k.a. Stable) next month when 1.78 ships. Here's the result:

0
0 208
Announcement John Murray · Feb 12, 2023

It's not too late to strap into the DX Jetpack for VS Code, take it for a test flight, and consider voting for it.

Online demo on Gitpod is HERE.

Ignore any initial notifications about ports being opened.

The ServerDiff extension will ask for permission to reinstall itself in order to use the `quickDiff` API proposal that it relies on. Click 'Yes'.

Open the README.md by double-clicking on it, thenshow as a preview (command is "Markdown: Open Preview", shortcut is Ctrl + Shift + V).

Enjoy your flight! Comments welcome below.

0
0 115
Announcement John Murray · Feb 10, 2023

I just released an update of the gj :: codeSpex extension containing a new feature - Exclusions.

There's now a short video demonstrating how exclusions can help you focus on the packages you're less familiar with. The video also illustrates how with the ObjectScript Class View extension you can easily explore the inheritance of your classes.

Both extensions are members of the DX Jetpack, my entry in the 2023 Developer Tools contest. Voting closes very soon, so if you like what I've created please encourage me to do more by VOTING FOR ME here.

0
0 213
Article John Murray · Feb 6, 2023 2m read

Strap on this jetpack to boost your developer experience in Visual Studio Code.

DX Jetpack for VS Code was my entry for the 2023 Developer Tools Contest, where it achieved 2nd place in the Experts vote and 5th place in the Community vote. It is an extension pack for VS Code, bundling three entirely new extensions created by me, plus a couple that we at George James Software published previously.

The new extensions are:

If you're reluctant to install DX Jetpack right away, why not try it using a dev container? In the dev container is an InterSystems IRIS Community environment augmented with InterSystems Package Manager (IPM) and the isc-codetidy package.

2
1 633
Announcement John Murray · Oct 4, 2022

Server Manager is a Visual Studio Code extension that helps you manage the server connection definitions you probably need when working with the InterSystems ObjectScript extension for VS Code.

For the past ten months version 3 of Server Manager has been available as a pre-release extension, providing better security for stored passwords.

Today Server Manager came out of preview. If you use Server Manager please check for updates in VS Code's Extensions view. The version number of today's release is 3.2.1.

For the best experience please also update your InterSystems ObjectScript extension to 2.0.

0
0 211
Announcement John Murray · Jun 21, 2022
Many Developer Community members are probably already aware of the growing popularity of Visual Studio Code. Its architecture allows extensions to enhance the core product, so over the past few years individual DC members, partner companies such as George James Software, and InterSystems themselves have built some. As a result VS Code is now the recommended code editor for InterSystems platforms.
VS Code is built from an open source project run by Microsoft and hosted on GitHub. I myself have contributed PRs to it.
0
0 279
Announcement John Murray · May 30, 2022

If you do your IRIS development in Visual Studio Code and wish you had a convenient way to get a terminal session on your server, take a look here:

A new VS Code extension leverages the popular and well-established WebTerminal package to bring you this experience.

If you like it, please vote for webterminal-vscode in the current contest. Voting closes at midnight on Sunday 5th.

5
0 711
Article John Murray · Apr 1, 2022 2m read

I have recently started making more use of Docker Desktop on my Windows 11 workstation, particularly in conjunction with VS Code's Remote - Containers extension and the iris-python-template repo from @Guillaume Rongier

Sometimes the container would start smoothly, but other times it would fail and report being unable to use a port.

Eventually I tracked the problem down. The Windows NAT Driver service apparently uses an OS facility to reserve a large range of ports.

0
3 2192
Announcement John Murray · Feb 28, 2022

Coming up on Thursday March 3rd, VS Code Day 2022, the second official Visual Studio Code event from Microsoft.

Join the Visual Studio Code team and community at a live event just for VS Code users. Get a glimpse of things to come and meet the team who works on VS Code every day.

Starts 8am PST and runs for 90 minutes.

https://code.visualstudio.com/vscode-day/

0
0 454
Announcement John Murray · Dec 20, 2021

In my previous post I described how to install the pre-release of the Server Manager 3 extension and benefit from enhanced security for your stored credentials.

Now by upgrading to the latest release (1.2.7) of the InterSystems Language Server and opting in to the 1.3 pre-release of the ObjectScript extension you get the additional reassurance of being notified whenever either of those extensions try to access stored credentials for the first time.

0
0 284
Article John Murray · Dec 2, 2021 1m read

Server Manager 3.0 Preview, my entry for the InterSystems Security Contest, is now making use of a cool new feature of Visual Studio Code version 1.63 - support for pre-release extensions.

As I write this 1.63 hasn't yet shipped (it's expected out next Thursday), but you can already get your hands on it by installing the VS Code Insiders build. Once you've done that and launched it, use the Extension view to search for 'servermanager' and you'll see this:

In the screenshot above I was using a 1.63.0-insider build, but 1.63 has now shipped.

1
0 517
Article John Murray · Nov 29, 2021 3m read

The InterSystems Server Manager extension for Visual Studio Code lets you define connections to your servers, list their namespaces and edit or view code there. You can also launch Portal for a server.

Server Manager 3.0 improves security by becoming a VS Code Authentication Provider. It is my entry for the November 2021 InterSystems Security Contest. Click here to visit the contest page where you may decide to vote for this entry. Please ignore the clickable "Contestant" label on this article header above, as it relates to a different contest for new DC articles. If you want to support me in that contest, simply "like" this post.

0
1 716
Announcement John Murray · Apr 16, 2021

I'm pleased to announce a major release of the InterSystems Server Manager extension. It has gained a UI!

Read more at Open Exchange.

Right now version 2.0 is like an aircraft at the start of the runway (remember those days before COVID-19?), waiting for the control tower to give final clearance. Will you be an early adopter, downloading the VSIX from GitHub, installing it into your VS Code, and posting back here to confirm that we haven't left anything critical behind at the gate? Then I'll push the throttles forward, publish to Marketplace, and we'll all be on our way.

Server Manager 2.0 is my entry for the current contest. If you like it maybe you'll vote for me it. wink

6
3 699
Article John Murray · Jan 29, 2021 1m read

On a default VS Code installation, when you create a new file its language mode is 'Plain Text'

You have to click there to set another mode.

Luckily, there's a setting you can tweak to change this. It is called files.defaultLanguage

Set it to the ID of the language you want. Those IDs display in parentheses after each entry on the language mode selector.

Even better, you can set it to use the same language as the file you're currently focused on:

"files.defaultLanguage": "${activeEditorLanguage}"
1
1 2762
Announcement John Murray · Jan 25, 2021

Coming up this Wednesday (27th January 2021), two and a half hours of online sessions by members of the product team at Microsoft.

Join the Visual Studio Code team and community at a live event just for VS Code users. Get a glimpse of things to come and meet the team who works on VS Code every day.

It's free, starts at 8am PST, and sessions will be available for replay after the event.

https://code.visualstudio.com/vscode-day

0
0 297
Article John Murray · Oct 27, 2020 2m read

Now that 1.0 has shipped and is featuring in various sessions at Virtual Summit 2020 it seems like a good time to offer some guidance on how to report problems.

InterSystems ObjectScript for VS Code consists of three collaborating VS Code extensions. For ease of installation and management there's a fourth entity, the InterSystems ObjectScript Extension Pack. It's a great way to get started with minimum clicks, and handy to have even if you have already installed the other extensions.

This modular architecture also means there are three different GitHub repositories where issues can be created.

0
0 713
Article John Murray · Oct 25, 2019 1m read

When dealing with a support issue of one of our Deltanji source control sites this week I learned that if you're using InterSystems versions earlier than 2018.1 on Unix-type platforms it's possible that a class you export in UDL format will subsequently fail to import. So I'm posting this information here in case it helps other folk.

If you're doing Zen development your classes are likely to contain ClientMethod definitions scripted in Javascript. Prior to 2018.1 the UDL import processor used by methods of %Compiler.UDL.

0
0 327
Announcement John Murray · Sep 20, 2019

In time for InterSystems Global Summit 2019 we at George James Software are pleased to offer a cloud-hosted evaluation environment where you can work with Serenji in Visual Studio Code, editing and debugging ObjectScript in a sandbox running InterSystems IRIS 2019.3 Community edition.

You can do it all from your web browser. Nothing will be installed on your workstation, nor will any settings have to be changed on it.

To take Serenji for a test drive please visit https://georgejames.com/dc-gitpod

2
1 419
Announcement John Murray · Sep 6, 2019

We've just published an update to the Serenji extension for VS Code. Starting with this version (3.0.7) you can now debug the code that implements your REST services. Here's a taster:

Read more about Serenji on Open Exchange.

0
2 559
Announcement John Murray · Apr 1, 2019

We at George James Software are pleased to announce that our acclaimed code debugger and editorSerenji is now available as a Visual Studio Code extension.

As well as supporting the latest InterSystems IRIS platform Serenji also works with earlier platforms, including versions lacking the server-side Atelier API support required by other VS Code extensions.

Serenji connects you directly to the code in your namespaces, resulting in an experience more familiar to existing Studio users. No need to export and import classes and routines.

We believe Serenji is the first extension to bring VS Code's powerful debugging features to ObjectScript developers.

13
3 1440
Announcement John Murray · Jan 14, 2019

At the George James Software booth at Global Summit last year we took the wraps off the work we've been doing to make our popular editing and debugging tool Serenji available on the Visual Studio Code platform.

Rather than requiring you to pull code from your namespaces into local files, then push the changes back to the namespace to run it, you work directly in the namespace. In other words, the editing experience is like Studio rather than like Atelier.

As well as editing code you can also debug it directly from VSCode.

We're now looking for people to test a pre-release.

12
1 916
Question John Murray · Oct 2, 2018

Using our cool new debugging extension for Visual Studio Code I'm trying to debug a CreateProjection method of a class, but when I compile it the work apparently gets done in one of the worker jobs, so my breakpoint never triggers.

Is there a compiler flag or qualifier to force the compilation to be done in-process rather than getting handed off to a worker job?

4
0 552
Announcement John Murray · Sep 21, 2018

If you are attending Global Summit 2018 please be sure to say hello to George James Software in the Partner Pavilion.
You are also invited to the informal lunchtime meeting we're hosting at Global Summit on Tuesday 2nd October from 1pm in Indian Paintbrush, a meeting room at the conference venue. We will be previewing the next versions of Deltanji, our integrated source code management solution, and Serenji, our editor and debugger.

0
0 403
Question John Murray · Feb 13, 2018

Documentation here lists the kinds of members a class definition may contain. In summary:

  • Parameters
  • Methods
  • Properties
  • Class queries
  • XData blocks
  • Projections
  • (and some that are relevant only for persistent classes):
    • Storage definitions
    • Indices
    • Foreign keys
    • SQL triggers

Later in the same document, a section headed "Class Member Names" contains this warning:

So I'm interested to hear how other DC members handle this.

  1. Do you comply (or at least attempt to comply) with this?
  2. If so, do you use any tools or naming conventions to assist you?
7
0 467
Question John Murray · Jan 30, 2018

In part of this post in 2016 @Eduard Lebedyuk asked if anyone knew what is meant by an "expanded class", as referred to in the text that appears when we run the ShowQualifiers classmethod of %SYSTEM.OBJ thus:

SAMPLES>DO $system.OBJ.ShowQualifiers()
...
            Name: /checkuptodate
    Description: Skip classes or expanded classes that are up-to-date.

3
0 549
Article John Murray · Jan 17, 2018 1m read

On the homepage that we get when we go to https://community.intersystems.com/ there are three views, controlled by a set of buttons in the upper right:

Above is with the default view (the "house", i.e. the "home").

I think the text "Top posting" would be better expressed as "Top posts" (plural), or maybe even just "Posts" (because what does "Top" mean when I'm viewing, say, "most active" or "most viewed"?).

Also, when I pick the tag summary view ("tags" icon to the right of the "home" icon), the page doesn't offer me a way of switching to one of the other views ("home" or "compact"):

1
0 277