During the first keynote at the BUILD conference in San Francisco, Microsoft crossed a line that many believed would never be crossed with the unveiling of Visual Studio Code (VSC). For the first time, Microsoft is providing a developer productivity tool to users whether or not they are running Windows as their client OS, which continues the trend started by the Azure team of embracing technology even when it’s not invented by Microsoft.
This new tool has installers for Windows, Linux and OS X, and the download site has a nice feature in that it will offer you the right version based on the OS you are browsing from while also giving you links to grab the other versions.
(Related: More news out of Build)
To succeed, developers not on Windows have to be among those who use the tool, and early indicators are positive. After the first day of availability, more than half the downloads of Visual Studio Code were by users not running Windows. This product’s introduction means that developers from all platforms can benefit from great productivity features long enjoyed by Visual Studio users, like IntelliSense, autocomplete and debugging in a super-fast and very lightweight editing tool.
VSC is an editor with IDE aspirations and some killer features out of the box. Editors and IDEs both let you write your code, but they provide different experiences along the spectrum, and each end of that spectrum has its own strengths. Microsoft has designed VSC to be an editor with some of the best features from the IDE while not ruining the advantages of being an editor.
In the vehicular world, the SUV is just such a hybrid because it has the comforts of a car with the height, storage and versatility of a light truck. These kinds of tradeoffs are evidenced by the fact that VSC deals at the file and folder level rather than having solutions like Visual Studio, but it supports project context for working with solutions created by Visual Studio or checked into Team Foundation Server.
While I was quite impressed by the mere existence of such a tool from Microsoft, I feared that it might be a one-and-done release, which would greatly dampen the usefulness for developers in the long run. I asked whether Visual Studio Code would get updates as new versions of the Visual Studio suite were released, or if it was code complete. The answer was far better than expected because it turns out that there is a team for VSC, and updates will be regular and ongoing; specifically, every three weeks was the stated goal for updates to be pushed out.
Rather than starting from scratch to build VSC, Microsoft started with Electron, which includes Squirrel for automatic application updates. The language being used in VSC matters for the experience. For example, refactoring and find-all references are currently only available for C# and TypeScript. IntelliSense and outlining are limited to these plus JavaScript, HTML, CSS, JSON and a few others. No official word, but we can likely expect more features to be brought to more languages as time goes by.
This first version supports Node.js and ASP.NET 5 as runtimes. When he announced it in February, Scott Guthrie described ASP.NET 5 on his blog as an “open-source Web framework for building modern Web applications that can be developed and run on Windows, Linux and the Mac.” VSC is make that statement even more impactful because it shows Microsoft putting real effort into making that promise a reality.
The reception has been quite positive, with some high-profile fans already blogging extensively about how to get the most out of VSC. The most prominent of these new proponents is John Papa, who pitched in to do a demo as part of his team’s session at BUILD. The BUILD sessions are online, with this one being hosted here. During the session, he demonstrated the finer points of the tool, emphasized by using only keyboard shortcuts and avoiding the mouse completely.
VSC is the culmination of Microsoft turning the ship and acknowledging that there is more to the world than its own stack. By bringing to market a free tool that runs on all major platforms and delivers some of the most coveted features from full Visual Studio, we can expect Microsoft to become a full-fledged member of the community at large instead of only consorting in its own little corner as usual. Prior moves by Microsoft that could be seen as leading to this include the open-sourcing of .NET, the release of .NET Core CLR for Linux and OS X, and the nature of ASP.NET 5.