Visual Studio Code for writing and debugging NodeJS applications


I’ve always been a fan of Visual Studio. I started using it when it was still version 6 (when my professional life started) and the only reasonable language was C++. Even though I worked on many different platforms in the meantime, none of the tools I encountered ever came close to Visual Studio. You can hate MS as much as you want (which I do not) but you have got to love their development environment.

Last couple of months I really got into the NodeJS world, which I think is a really great environment: you can develop on any platform, and it runs on all of the platforms, cloud or on premise, everybody supports it. You cannot get any “vendor lock-in”, which is great and you have all options open. You want to move to Azure? Fine, no problem. Amazon. Equally ok. Run locally on your Macbook. Done. An extra advantage is the simple type and run principle (which is a well known principle I just invented), which means there is no compilation or building required before running the application.

If you read this intro, you will understand that I was very pleased with the announcement of Visual Studio Code, which fits perfectly in my scheme of things. Of course there is Sublime which everybody is using for this kind of task (just as me), and truth to be told, some of the VSCode features are simply copies, but it works equally good for me, and has suprised me. Biggest reason why it pleases me: it’s simple. As powerfull as Sublime is, I only used 2% of it’s features for developing node applications, so it was too much. VSCode is simple, offering everything I needed, and even more, using the docs on https://code.visualstudio.com/Docs/ I was able to create a “blanco nodejs template application” and configure debugging in under 5 minutes. Combine this with the great support for client side javascript debugging we have today in allmost all browsers, and you have full support for debugging on client and server!


Another great feature is the support for type definitions in combination with the intellisense. All info is in the docs, just mentioning it here because it actually really works, even tough I’m not the biggest fan of Typescript (I don’t like any “extra” steps for converting or compiling things… remember the type and run principle), I don’t even use it my apps. It just great to have intellisense support for the basics of a language.

Next job is to experiment with the task features VSCode offers, which also seems to solve some issues for me… but I need a little more time for that one.

Two remarks to close this article:

– It could well be that Sublime is equally capable of doing all of this, I don’t know. And that is exactly my point. In all the power of Sublime I couldn’t easily find these things, while with VSCode I got things running in no time with a very to the point document

– There are still some improvements to be done on VSCode, especially the part on HTML tags feels sometimes wrong. For example, in any modern HTML editor typing <br> will convert your tag to <br />, while VSCode will just complete the tag, so you end up with <br></br> which of course nobody wants. Same goes for a lot of other tags. Also starting a closing tag does not automatically bring up intellisense to suggest the rest of the tag. These features are available in Visual Studio 201x, so they know how to do it…