VSCode extension for InterSystems ObjectScript update

I'm pleased to announce the latest version of the renewed for ObjectScript, which is now available with a lot of new features.

This new extension is a fork of previously developed extension in different repository originally started by @Oleg Dmitrovich.

You can find a new repository here.

So, what's new:

  • Better syntax highlighting which supports classes and routines.

  • Intellisense for commands with documentation.

  • Intellisense for system functions and variables, also with some documentation

  • Hover documentation with the link to online documentation, for system functions, variables and commands

  • Go to symbol (⌘+Shift+O, Ctrl+Shift+O) supports classes for all class members and routines for labels. You can also you Outline view to navigate by code

  • Server Explorer, you can open any file from a server in a read-only mode

  • View Others (⌘+Shift+V, Ctrl+Shift+V)

  • Go To Definition (⌘+Click, Ctrl+Click, F12)

  • macOS with TouchBar support, added two buttons, Import with compile and View Others

Fill free to fill any issues or enhancement requests here. Of course, you can also send pull-requests. Be aware, this is an open-source project and developed for free.

I'm going to improve this extension, I have many ideas what to do next, but as fast as I will have time for it. But if you would like to support, you are very welcome.

I hope you will find this extension very useful and would like to hear any of your feedback.

Comments

Hi, 

Excellent extension ! My personal preference VSCode over Eclipse Atelier. 

Just one thing. Anyone is editing CSP files using VSCode? How do you deal with syntax highlight for CSP ? 

I'm going to be in Antwerp next month. If you want to see a live demonstration, I can do it for you. I already have some more features, to show.

Sound very nice!! Thanks @Dimitry Maslennikov I'll used it and let you know wink

I see that so many people already installed this plugin. I hope many of you already tried it in action and have some thoughts about how it can be improved. Please fill issues about any troubles you found and any new features you would like to see. I want to make this tool useful for everybody, not only for me, I need your opinion.

You did a great job!!!
I was using the old version for a while, and this new improvements help me a lot..

Thanks very much

New cool update came up with VSCode!

What's new in this version

  • IMPORTANT: Connection disabled by default, now. Set "objectscript.conn.active": true to enable it
  • Automatically Preview XML files as UDL, (disabled by default, setting objectscript.autoPreviewXML)
  • Preview XML As UDL by command from Command Palette and from Context Menu
  • Fixed highlighting for XData with css in style tag
  • Show percent-member in outline
  • Multi-root workspace supported now, for different connections
  • Multi-root workspace also for server explorer
  • Go to definition now goes to real file if such presented, or opens from the server
  • Basic syntax highlighting for CSP files, only as HTML
  • Added some snippets for class
  • Go to Subclass for the current class, available in command palette
  • Go to Super class for the current class, available in command palette
  • Go To any class/method in the workspace including server (by Cmd+T/Ctrl+T)
  • some small fixes in the highlighting, and selecting words/variables
  • Intellisense. Show list of methods for ##class(SomeClass)
  • Go to macros definition
  • Go to definition for methods and properties for self object like ..Name..SomeMethod()
  • Added completion for class parameters
  • Export without storage

Well done, Dmitry!

Like the clickable InterSystems Data Platforms tags in the repo:

@Dmitry Maslennikov , could you share, please, the code to be inserted into Reaadme.md to introduce it into the repo?

You can find them in the source of README

[![](https://img.shields.io/badge/InterSystems-IRIS-blue.svg)](https://www.intersystems.com/products/intersystems-iris/)
[![](https://img.shields.io/badge/InterSystems-Caché-blue.svg)](https://www.intersystems.com/products/cache/)
[![](https://img.shields.io/badge/InterSystems-Ensemble-blue.svg)](https://www.intersystems.com/products/ensemble/)