Microsoft Releases Visual Studio Code IDE For Linux, Mac And Windows
Written by Mike James   
Thursday, 30 April 2015

The most important thing to say is that this is not Visual Studio - not even close - despite the name that attempts to make the connection. This is a brand new cross platform IDE - the real question is why?



Microsoft already has more IDEs than it really needs. There is the excellent Visual Studio - the flagship; then there is Blend, a designer- oriented IDE; and there is WebMatrix 3, which covers some of the same ground as the new Visual Studio Code, but only under Windows. 

At the moment the most important thing to say about the latest addition is that it fairly underwhelming. It might be a useful IDE in a few releases time, but at the moment it is just a start on an IDE. 

What has made it possible is the work that the .NET languages team did to move from the old compiler infrastructure to the new Roslyn compiler. The entire IDE can be thought of as a locally hosted web app. 

"Architecturally, Visual Studio Code combines the best of web, native, and language-specific technologies. Using the GitHub Electron Shell, Code combines web technologies such as JavaScript and Node.js with the speed and flexibility of native apps. Code uses a newer, faster version of the same industrial-strength HTML-based editor that has powered the “Monaco” cloud editor, Internet Explorer's F12 Tools, and other projects."

The presentation layer is implemented by a customized Google Chrome rendering engine. 

Take a look at the video to discover how Microsoft presents VSCode: 


What is difficult to find out is exactly what sorts of projects VSCode supports. If you define supports as offering IntelliSense prompting then the list is quite short:


If you relax the requirements to syntax coloring then you get:

C++, jade, PHP, Python, XML, Batch, F#, DockerFile, Coffee Script, Java, HandleBars, R, Objective-C, PowerShell, Lua, Visual Basic, Markdown

In fact there are only two languages that get full support and these are C# and TypeScript/Node.js. The target project types are ASP.NET 5 and Node.js. 

In fact if you take it down to what types of project can you debug on all platforms then the answer is just Node.js. 

Out of the box Code doesn't actually create any projects for you. Projects are defined as what is found in a folder and the project structure is defined by either a suitable json file or an ASP.NET5 solution/project files. 

How are you supposed to create a project?

You could use the full Visual Studio to create a project structure and then simply load this into VSCode but this seems self defeating.

The suggested solution is to use Express to generate Node.js projects and yeoman for ASP.NET5. You have to download, install and run these separately. Not a huge problem but I thought IDE stood for INTEGRATED Development Environment. In fact once you start to look at how you might use VSCode you discover that it is not so much an Integrated Development Environment but a selection of tools flying in close formation. The list of additional tools reads like a whos who of FOSS tools - git, Express, gulp, mocha, bower etc. You care supposed to be install and master what ever of these you need to use. 

This approach may well appeal to the existing FOSS user, but on the other hand VSCode being from Microsoft isn't likely to appeal much to this audience. What the existing, pampered, Visual Studio user will make of this mess of tools is fairly clear - and this is what makes the use of the name "Visual Studio" misleading in the extreme. 




To add to the injury, if you actually want to run the program you have developed you first have to set up a launch configuration. Also note that, at the moment, debugging of ASP.NET5 isnt' supported on OSX and Linux. So it's not that cross platform at the moment and certainly not a cross platform IDE, more of a cross platform editor with some syntax highlighting/prompting. You can fairly easily debug Node.js applications, but as Node.js is already cross platform, this is hardly an achievement.

I can't see very many programmers rushing to use VSCode as its only real advantage is IntelliSense prompting for JavaScript. What is really important about VSCode, and the reason for the many headlines proclaiming "Visual Studio Comes to Linux and Mac", which is clearly nonsense, is (to misquote Samuel Johnson):

"Sir, Microsoft doing cross platform is like a dog walking on his hind legs. It is not done well; but you are surprised to find it done at all"

VSCode is the result of a number of deep changes in Microsoft - the creation of the Roslyn compiler, the focus on Cloud services, and the willingness to use and support open source coded.

It will be interesting to see what happens to VSCode in the future, but for now it is a curiosity best left to programmers with time to spare. 




More Information

Related Articles

WebMatrix 3 Released       

The Matrix Reborn - Web Matrix 2

WebMatrix released

Microsoft Kills Expression Suite 


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.



More Jetpack Compose Updates

The July release of Android Jetpack Compose has some improvements and it is faster, but is it what we want?

Mirascope-Python's Alternative To Langchain

Mirascope is a Python library that lets you access a range of Large Language Models, but in a more straightforward and Pythonic way.

More News


kotlin book



or email your comment to:

Last Updated ( Monday, 23 November 2015 )