Open devices for a process can be seen in the Processes section of the portal.  The initial process list shows the principal or current device and in the individual process page it shows all open devices, this can also be found using the %SYS.ProcessQuery OpenDevices
 method so you could write code that goes through all processes checking.

What these show may depend on how you open the device in the first place.

I am in the same position as you, only selectively using full commands or function names, being too much in the habit of MUMPs abbrevations.  Like you though I tend to extend when iterating or using something less usual in the code, I have also found curly braces to be much better for readability than the old block structure.

I also agree that I find it faster to read and write abbrevated code for things like sets and do's and especially for functions such as $p and $g.  Hopefully I can get into the habit of less abreviation as I do notice the new programmers finding this harder.

Probably the biggest habit I have broken is also shown in the bad examples given and shows how long I have been using MUMPS, yes it's entering everything in UPPERCASE.  I finally use camel case and also more meaningful/longer routine and variable names.

Just a quick note.

I found that when creating a new database it was best to initially use SYS.Database so you can specifiy max size etc..

db=##class(SYS.Database).%New()
db.Directory=directory
db.Size=initialSize
db.MaxSize=maxSize
db.GlobalJournalState=3
Status=db.%Save()

Then finalise with Config.Database

Properties("Directory")=directory
Status=##Class(Config.Databases).Create(name,.Properties)
Obj=##Class(Config.Databases).Open(name)
Obj.MountRequired=1
Status=Obj.%Save()

This might not be the best way to do it, I'm open to improvements.

Hello Dmitry,

I have used the extension and am very impressed but obviously any change in toolset has to be agreed accross the business and will require changes to the development and version control process, hence a reluctance until we know what Intersystems have planned.

Apologies if I have missed a feature post but does the extension replicate the Studio Add-Ins such as the SOAP Wizard as these are very useful to us.

Regards

David

Hello Evgeny,

Thanks for the response, of course I am aware of the various plugins hence my question of relying on 3rd party tools.

That old post does not really answer the question on what Intersystems future plans for development tools are, it just confirms effective end of life for the current ones.   Also, only fixing critical issues means reported problems will generally not be fixed anymore as they are pretty stable, something I have already experienced.

I don't have a particular problem with moving to VSCode supported by 3rd parties but some confirmation of this from Intersystems so developers can plan to move in that direction would be appreciated but noone seeems to want to commit to any answers.  It also starts the question of how will Intersystems provide the ability for these 3rd party tools to replicate and extend the functionality available already, again there are no answers.

Regards

David

Hello Evgeny,

Slightly off-topic but it is interesting you are using VSCode.

I have asked at various times, including the last symposium, what the plans are for development tools given that both Studio and Atelier have essentially been end of life for quite a while now, well over a year, but the response is always the same, there is a plan but we cannot announce it yet. 

Is VSCode the way Intersystems is going?  Does this mean we are now relient on 3rd party development tools?  Are there plans to create some way to replicate functionality such as the SOAP wizard in VSCode?

I was hoping there might be some details out of the summit but I haven't seen anything yet.

Regards

David

A valid point but it can depend on how the command string is formed in the first place, unless you write a parser to break a command string down into a command plus arguements.  I agree that you may as well use $zf(-1 but as the documentation will point you to use $zf(-100 then it can be valid.

It's also usefull to know you can use brackets in this way for general knowledge.