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?
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.
Bit that's exactly what I want: a smart code editor. Lean and mean. The Workflow bit I want to be handled by dedicated workflow (build, CI, CD) tools. I'm afraid that Atelier becomes Eclipse (sic): bloatware that tries to be a Swiss Army knive, but isn't succesful in any of it's features.
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.
But certainly, I should admit, any TextMate template based syntax highlighting system (like those used in the Atom or MS Code) will never be as precise as highlighting in Studio or Atelier.
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
Export, edit and compile with vscode-cos extension
This extension don't export CSP file and Rules to the same folder?
Hi, Lucas!
Why do you need to export CSP? Couldn't you edit CSP just in place?
If you want a particular feature to be introduced, please put the issue here.
BTW: 1,400 downloads: not a bad number!
Hi, Evgeny!
First, its a amazing extension and make a great work!
I ask because if you want versioning this application is more simple and practice have in only a folder.
Regards!
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.
Check Caché ObjectScript highlighting extension for VSCode.
https://marketplace.visualstudio.com/items?itemName=doublefint.vscode-cos
Oleg, congrats with 1,500+ installations of VSCode-cos!
And I like the new features of "Save on Compile" and easy server connection settings.
Thank you, Evgeny!
Congrats also should go to @Nikita.Savchenko, @Dmitry Maslennikov, @Tobias Graupner
But it's not installations, it's counter of downloads. After each version release, VS Code automatically download it.
According to my observations, there are approximately 100 active users of the plugin.
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
Hello,
I'm installed and configured the VS Code extension, but I'm having some issues. I can see the folder structure at left column of my VS Code interface, but I am not able to edit the file contents.
The second issue is about the compilation feature. How can I compile all files or an file and your dependencies?
Not sure if helps but in order to compile the class use View/Command Palette and after choose COS: Import and compile
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:
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:
And you can check connection and compilation logs in Output/cos window, see the gif above.
Hi Evgeny,
thank you very mutch for your response. But I still not being able to edit my files. As you can see below, I'm connected to my namespace, but when I try to edit my file, a pop-up message appears telling that I cannot edit.
To edit code, you should have it locally like in Atelier. This mode just server view, you can see a code, but not edit. You can export all code as files, from a server by command `Export sources`. After that by editing this code, it will be saved to a server and compiled if configured.
Sorry Dmitry, but I never used Atelier before, and I'm starting to work with Intersystems technologies. Can you explain how can I do that?
Because I used the option COS:Export Sources, in Command Palette of VS Code but nothing changes.
Thanks in advance.
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.
Dmitry and Evgeny, thank you for your responses. The command 'Export Sources' was working. The problem was that I had not yet specified the path file, inside the 'cos.export' attribute. Thank you so much.
Hi Felipe!
Recorded the short "Coding video" to illustrate how it code and compile ObjecScript in VSCode.