Discussion
· Mar 3, 2016

Anyone using Visual Studio Code?

Is anyone in the fine community of developers who work with ISC technologies looking at Microsoft's Visual Studio Code offering?

One of Bill McCormick's recent posts about Atelier referred to Visual Studio being considered the best IDE. Granted, Code is far less of a tool than VS, and probably always will be. But it claims to be open source and cross-platform, i.e. Linux and OS X as well as Windows.

I'm not 100% sure my post belongs in the Atelier group, but didn't see any other group that would be a better home.  Might we benefit from a "Tools" group?

Discussion (26)3
Log in or sign up to continue

I have played with Visual Studio Code, but at its core, it is nothing more than a smart text editor like TextMate2 with some extensions for running tasks. It includes the runtime and can, therefore, add a debugger, which is nice. But it is not a full blown IDE.

VS Code has a user group, but it is not build to allow more complex workflow integration, which is something Atelier wants to offer at some point.

I am sure Bill can provide more insight. 

Some time ago, my previous favorite "lightweight" editor was Atom [1], and we even played with its integration with Caché some time ago. But now, due to multiple reasons, this project is stale, community people which was doing development gone, Atom broke their API multiple times (and still not fixed some fundamental issues, like lack of debugger API or editor limitations).

So after all these years I believe that Microsoft Code is better, faster, and smarter incarnation of Atom nowadays (their editor is much faster, they do already have refactoring and debugger API implemented). So, eventually, after Atelier API will be released  there will be better grounds for resurrection of similar projects, but with server-side already been taken care of via REST API...

[1] Ok, ok, there is Sublime text editor,  which  always was much, much faster than Atom. But extensions there should be written in Python (which I unfortunately dislike), so JavaScript based systems (like Atom, Code or Brackets) are much more preferable for me. At least from "hacking" pont of view.

Visual Studio Code got a lot of praise in a recent Hacker News discussion of an extension for the Go language. One user mentioned that the PHP extension is quite good, and works well with XDebug. It's also supposed to be good for JavaScript and TypeScript.

I've been using Xamarin Studio to write NUnit tests (C#) on the Mac. I loaded the project into VSC, and it's not bad. It doesn't seem particularly fast or lightweight, as some have claimed, but it's adequate. OmniSharp is included, so you can hover over method calls to see the signature, and each method definition is preceded by a count of how many times it's called.

Java support is not nearly as good out of the box, but there may be some extensions to improve that.

For COS, you could probably configure a task runner to use Atelier's REST APIs to save and compile files to a server. Syntax highlighting and debugging would take some doing, but the hope is that Atelier will scratch that itch better than VSC ever could.

I'd say that Visual Studio Code doesn't have enough to lure me away from Emacs for any extended period of time, but it's a capable, extensible editor.

Visual Studio Code is an interesting offering from Microsoft. I feel that the intention is for them to grow it as a cross platform alterative to Visual Studio itself. Perhaps even to potentially replace Visual Studio itself in the longer term. However currently on windows, unless you have a system very low on resources, Visual Studio is by far a better option.

Having co-written a COS plugin for Visual Studio (www.EnsPlus.com) I have explored the possibility of adapting this to VS Code, mainly for the cross platform support. As Jon pointed out you could get it to interact with cache, even without the Atlier Rest API's, since it it is a database and getting data in and out is what it's designed for. 

No, the main difficulty with implementing COS language support for VS Code is, as Timur indicated above, the language parsing.  We spent a lot of time on the parsing using Antlr, the same as intersystems does. ObjectScript is a complicated language and for good quality IDE support it needs the code to be parsed with quite a reasonably high level of detail. 

So far it has not been possible to port our Visual Studio Extension across to VS Code, since our current extension is C# and the VS Code language extensions are currently written in Javascript.

 

Jeff Sinclair
www.EnsPlus.com

Thank you, Lucas. But the thanks should go to @Oleg Dmitrovich

As for CSP - it is a file, and can be edited via VS-Code just as a file in a versioned folder.

If you are looking for exporting tools, I can recommend isc-dev module, which can export code as single files in a dedicated folder structure (including DeepSee stuff), can export a single kits - large xml kits, say releases, and also patches which a commit, or a set of commits in git.

A couple of years after my original post, we at George James Software got inspired to have another look at Visual Studio Code. And at Global Summit this week we premiered our upcoming extensions.

You can watch a video of my flash talk here. 

https://youtu.be/1146vFuHoI8?t=1263

If you want to be notified when it is available  please email your request to info@georgejames.com

Hi Felipe!

As @David Reche mentioned you can get it from the Command Palette menu and as you can see Command +F7 hotkey can be used for import+Compile.

I also like the option:

cos.Autocompile=true;

which gives you compilation on every Save (Command + S) and which you can setup in workspace settings of VSCode.

Also, make sure that you connect to a right server and right namespace. See the following gif which illustrates how it works:

Hi Felipe!

Are you able to edit ANY files with VSCode? With ObjectScript files, it should be the same.

Just to make sure: 

1. - check out your ObjectScript files from the repository to a local file folder.

2. Open this folder in VSCode.

3. Setup the connection in VSCode to an InterSystems server and namespace you want your files to be compiled.

4. Code it!

There are also other steps of commit/push/test/patch/deploy - but it is another story.