go to post Brett Saviano · Sep 12, 2023 @Pravin Barton If you want to only search a single folder, you can right-click on it in the explorer and select "Find in Folder...". VS Code will show the search view and auto-populate the "files to include" text box.
go to post Brett Saviano · Sep 5, 2023 @Marcel den Ouden The VS Code extension uses your objectscript.export settings to determine what the name of the file should be from its URI. It assumes that if you're working in a client-side folder you will have those settings properly configured for how your classes are stored in the local folder (since they are needed to export classes). I don't know how the full path could be used for the file name so that is probably a bug.
go to post Brett Saviano · Aug 3, 2023 @Hannah Sullivan This is documented in the Server Manager's README. It will be added to the official InterSystems documentation for VS Code at a later date.
go to post Brett Saviano · Jul 26, 2023 @Kevin Kindschuh The VS Code Integrated Terminal is an OS shell, so if you want to open an IRIS terminal you need to use a command like "iris terminal <instance>". If that instance is on another machine, you'll have to use SSH. Starting with IRIS 2023.2, VS Code supports a WebSocket-based terminal so that you can launch a terminal on a remote server without needing SSH. The WebSocket terminal is not a full terminal though.
go to post Brett Saviano · Jul 13, 2023 @Sam Duncan Here's a simple method to export subclasses. It exports all of the classes in a single XML file and prints that to the console. You can easily modify that behavior by changing the $SYSTEM.OBJ.Export() line to whatever export strategy you want. ClassMethod ExportSubclasses(pSuper As %String) As %Status { #Dim tSC As %Status = $$$OK #Dim tEx As %Exception.AbstractException #Dim tPc As %ProcedureContext #Dim tRs As %SQL.ClassQueryResultSet Try { #; Build a subscripted array of subclasses Set tStmt = ##class(%SQL.Statement).%New() Set tSC = tStmt.%PrepareClassQuery("%Dictionary.ClassDefinitionQuery","SubclassOf") If $$$ISERR(tSC) Quit Set tPc = tStmt.%Execute(pSuper) If tPc.%SQLCODE < 0 { Throw ##class(%Exception.SQL).CreateFromSQLCODE(tPc.%SQLCODE,tPc.%Message) } Set tRs = tPc.%NextResult() While tRs.%Next(.tSC) { Set tSubclasses(tRs.%GetData(1)_".CLS") = "" } If $$$ISOK(tSC), $DATA(tSubclasses) = 10 { #; Export the subclasses Set tSC = $SYSTEM.OBJ.Export(.tSubclasses,,"/nodisplay") } } Catch tEx { Set tSC = tEx.AsStatus() } Quit tSC }
go to post Brett Saviano · Jun 16, 2023 Hi @Scott Roth, when 2023.2 is released VS Code will support an integrated WebSocket-based terminal that's implemented as a new Atelier API endpoint. It will be available in kits by default and the vscode-objectscript. It's documented here and the newest beta version of the vscode-objectscript extension and 2023.2 previews have the needed code.
go to post Brett Saviano · Jun 15, 2023 @Michael Gosselin The best place to report those issues is the GitHub repository for the Server Manager extension. Also, any details you can give us would be great. Does a server already exist with that name in your user settings? Do you have a workspace open? cc @John Murray
go to post Brett Saviano · Jun 15, 2023 InterSystems is working on adding support for XML import/export in the Atelier API with integration in the VS Code UI via commands. I will post the PR here when it's opened and a suitable kit is publicly available.
go to post Brett Saviano · May 22, 2023 @Evgeny Shvarov It's available on the VS Code Marketplace, which is where people would expect to find it.
go to post Brett Saviano · May 18, 2023 Hi @Michael Davidovich, I can show you how to configure VS Code to see system classes. Are you using client-side or server-side editing?
go to post Brett Saviano · May 17, 2023 Hi @Josef Zvonicek, I'm glad that VS Code is making you more productive, and thanks for the feedback. I have some comments about your fine-tuning list: The "override class members" functionality is implemented by the Language Server extension. If you file an issue on its GitHub repository I would be happy to consider this enhancement request. The VS Code integrated terminal is part of the core product, and not our extensions, so I'm not sure we can do anything about this. Can you provide more details about how you started the terminal and the expected vs actual behavior? Newer versions of the vscode-objectscript extension should avoid opening that extra copy of the file when debugging. If you're using recent version like 2.8.0 or 2.8.1 and this isn't working, please file a GitHub issue in that extension's repository and I will take a look at it. The debug console can only evaluate expressions. It's not a full terminal and cannot execute commands, so this isn't possible unfortunately. I'm not sure what a GIT disk is. Are you editing files on your local file system? Can you describe what doesn't work well, and what we could do to make things better? There is a command called "Open Error Location..." that you can execute from the command palette. It prompts you to enter a "label+offset^routine" string and then opens that location. It only works for INT routines though.
go to post Brett Saviano · May 16, 2023 @Anna Golitsyna I think the debugging experience in VS Code is actually better than Studio since you can view the properties of OREF's in the variables view in VS Code but not Studio. You can have that developer file an issue report on GitHub, or contact the WRC if you have a support contract. As for features in Studio but not VS Code, the biggest one is the Inspector. It is very unlikely that it will ever be implemented in VS Code. VS Code also does not support integration with the legacy Zen BPL and DTL editors. VS Code will support integration with the new Angular versions of those editors when they are implemented. VS Code also doesn't support syntax coloring for Cache Basic or MultiValue Basic, but you can still edit those files.
go to post Brett Saviano · May 16, 2023 @Anna Golitsyna The big plus is that VS Code is in active development, while Studio hasn't seen enhancements in years and now is deprecated. Other than that, here are some benefits of VS Code: Supports Mac, Linux and Alpine Linux in addition to Windows. Much faster release cycles so you get new features and fixes faster. Always forward compatible without needing to install a new version. Much better intellisense support. (a large list of features can be found here) Modern UI with fully customizable themes. Can be connected to multiple server-namespaces in the same window. Debugging supports expanding OREF's to see their properties.
go to post Brett Saviano · May 16, 2023 @Alex Woodhead Just to clarify for everyone, Studio source control classes that import/export XML files will continue to work and be supported. There just won't be a menu option in VS Code to export files as XML.
go to post Brett Saviano · May 15, 2023 @Larry Overkamp VS Code does not support exporting or importing source code as XML files. There are existing tools in the terminal and SMP for that. The server-side editing paradigm that John mentioned above is conceptually similar to Studio in that the files you edit are "virtual" and do not need to be exported to the file system to be edited. It supports viewing all files in a namespace like in Studio, and it also supports importing local .cls, .mac, .int and .inc files into that namespace. Searching for text across those virtual files is supported and the UI is much better than Studio since you can click on the match and jump right to that location in the file. Enabling that feature requires some extra steps due to a VS Code core limitation, but this is something that we anticipate will be resolved in the future.
go to post Brett Saviano · May 15, 2023 @Anna Golitsyna We have a documentation page that describes some useful features for migrating from Studio that you may find useful.
go to post Brett Saviano · May 15, 2023 @Richard Filoramo The server-side editing paradigm in VS Code is conceptually similar to Studio in that the files you edit are "virtual" and do not need to be exported to the file system. This mode supports Studio source control classes, so you can continue using them if you want. We have a documentation page that describes some useful features for migrating from Studio that describes where the Studio source control integration can be found in the VS Code UI.
go to post Brett Saviano · May 12, 2023 @Mikko Taittonen The vscode-objectscript extension does provide New File commands for Interoperability classes. You can read the documentation here. The SOAP wizard can be accessed from the Server Actions menu. BPL and DTL classes can be edited textually. Support for the graphical editors will be added when they are rewritten using Angular. For a preview of how that would work, you can try out the new Angular Rule Editor in VS Code.
go to post Brett Saviano · May 11, 2023 @Alexey Maslov That sounds like a bug to me. Can you file a GitHub issue with steps to reproduce? It would also help to know the versions of the extensions you have installed, the version of IRIS you're connected to, and the text of the file that you see the bug in.
go to post Brett Saviano · May 10, 2023 @Menno Voerman Unfortunately I don't think this is possible. That command is for opening files, and technically the name of the file is "HS/FHIRServer/Interop.HTTPOperation.cls", not "HS.FHIRServer.Interop.HTTPOperation.cls".