New sections about Visual Studio Code extensibility

As you may know by now, the Visual Studio family (Visual Studio, Visual Studio Team Services and Team Foundation Server) has a new member: Visual Studio Code. While still in its infancy (it’s not even 1.0 at the time of this writing), it is very promising by several reasons:

  • It is portable, available on Windows, Mac OSX and Linux. I only buy Mac computers since some years ago, running Windows virtualized, so I like the idea of running some Visual Studio flavor on Mac OSX.
  • It is modern, with a nice editor with intellisense, code assistance and navigation, debugger and themes.
  • It is extensible, being built with extensibility in mind from the beginning. If you are old enough in the VS extensibility world, you may remember that the first version of Visual Studio (2002) was not extensible through packages, only through add-ins, and Visual Studio didn’t get a proper “VS SDK” until VS 2005.
  • It has already tons of extensions on its own marketplace.
  • It is open source, with a GitHub repository. If you are extending an IDE, it’s tremendously helpful to have the source code of that IDE, to know how it works internally. I can’t count the hours that I have spent guessing how the Visual Studio IDE works or trying to debug its assemblies with some 3rd party tools.
  • It is clean, written in TypeScript and Node.js. The full Visual Studio was written originally in native C++, it was COM-based, and later it got a lot of managed C# code.
  • Did I mention that it’s free?

It’s easy to see its potential, given that ASP.NET Core is also multi-platform and there will be more and more applications that won’t require the Windows desktop.

So, I have added new sections about Visual Studio Code extensibility on this site, which aims to be best resource center to extend all the Visual Studio products. They are the following:

I will populate them with more content in the next months as it becomes available. And hopefully there will be even a section for Books at some point.