I'm pleased to announce version 2.6.0 of the VS Code ObjectScript extension, containing a number of enhancements that make a developer's life easier. Some highlights are described below. As always, find the full list of modifications in the CHANGELOG, including many bug and vulnerability fixes.
Switch namespaces quickly
Thanks to @Olli Tanskanen at partner company JediSoft Oy for this enhancement! You can now switch namespaces from the Server Actions menu (when using client-side folders only).
Fast, asynchronous server-side search
This one requires InterSystems IRIS 2023.x and the proposed API enabled. When you have a server-side code workspace and use the Search pane (Ctrl+Shift+F or Cmd+Shift+F on macos), your search will be much faster, and run asynchronously.
Easier Debugging with "Open Error Location..."
If you get a compile time error in your ObjectScript code, it has been easy to jump right to the error by clicking the link (underlined text) in the output pane. However, there hasn't been a way to go directly to the error location if the error occurs at run time, or if you have compiled the code outside of VS Code.
We now have solved this with "Open Error Location..." available from the Command palette. When run, it prompts the user to enter an error location in the format label+offset^routine
, then opens that location.
Step 1: Ctrl+Shift+P (Cmd+Shift+P on macos) to open the command palette, then type error to locate the `ObjectScript: Open Error Location...` command.
Step 2: Paste in the label+offset^routine
from your error message and press Enter.
ISFS folder creation
If you don't like editing configuration files by hand, you will appreciate that the user interface for creating ISFS folders is greatly improved in this version.
Studio keyboard shortcut equivalents
This is a documentation update, so it was live in advance of the extension update. Read about it here.
Installation
If you already have the ObjectScript extensions – ObjectScript, Server Manager and Language Server – installed, go to your Extensions pane and make sure they are up to date. “InterSystems ObjectScript” should be at v2.6.0, “InterSystems Server Manager” should be at v3.2.2, and “InterSystems Language Server” should be v2.3.0.
If for some reason you have yet to try out these extensions, install VS Code here. Then install the "InterSystems ObjectScript Extension Pack" from the VS Code Marketplace by clicking the green "Install" button.
Really like the new feature of positioning to error line in code by copy-n-paste the error message!
@Brett Saviano @Raj Singh - great job, thanks a lot!
Awesome!
About
label+offset^routine
. How would recent Improvements to how IRIS classes are generated and called would affect error messages from class methods?Pinging @Mark Hanson.
I expect that this will work fine. Our 'Open Error Location..." command just goes to the line+offset in the INT routine, it doesn't try to resolve the location in the CLS/MAC/CSP that generated the INT.
That's an important clarification. The command will open the error location in the uneditable generated INT document. You will still need to switch to the CLS/MAC/CSP to make changes.
And for switching back to original cls/mac right-click and choose “View Other” in a context menu
Most of the time the INT code is not interesting, you really want to go to the error location in the source. There's a very convenient VS Code extension gj::locate which will do exactly this: https://marketplace.visualstudio.com/items?itemName=georgejames.gjlocate
@Raj Singh - this is great, thank you for the exciting updated!
Where can we find more details on this?
[quote]
If you don't like editing configuration files by hand, you will appreciate that the user interface for creating ISFS folders is greatly improved in this version.
[/quote]
@Ben Spead
The existing docs here have been updated to reflect the new UI.
thank you @Brett Saviano!
Nice new features. Keep up the good work.
Great work, VSCode extensions work very well now with all latest fixes & improvements - I switched from Studio to VSCode for all ObjectScript development! 😉
Agree! But the releases are published rare here. There is 2.8 release now available: what are the features introduced in 2.7 and 2.8? @Raj Singh
We only use odd-numbered releases for betas -- developer testing previews. So we'll never have a public announcement of an odd-numbered release and in this case, there was no 2.7. Look for something about 2.8 soon.
Ah, great. I didn't see the info that odd-numbered are preview releases! Looking forward, thanks @Raj Singh !
Outline information is always available in the CHANGELOG, and instead of waiting for a post here I suggest you configure VS Code to check for extension updates without installing them automatically. That way you'll know when you update this extension, and it's easy to review the CHANGELOG in Extensions view afterwards.
I think there's also a Discord channel that notifies about releases.