Visual Studio as a Platform


One of the quotes I picked up on from this recent article on eWeek was “…Microsoft is really putting lots of effort into making Visual Studio .Net a third-party platform…” This is certainly true and I think a platform is really the right way to think about extensibility for Visual Studio. There are a lot of parallels you can think of between VS and an OS like Windows. For example:



  • VS Macros ~ VBScript

  • VS Add-ins ~ Powertoys for Windows, 3rd-party OS components (e.g. custom control panels)

  • VS Packages ~ Native Programs

  • VS Packages w/VSIP Helper classes ~ .NET assemblies running on the CLR

This is the overall vision that we have for Visual Studio going forward. With this model in mind, you can think of the current COM-based VSIP interfaces as being parallel to the Win32 API and the Helper classes (called the “Managed Package Framework” in Whidbey) as being parallel to the .NET Framework on Windows.


Comments (3)

  1. And what about licensing? VSIP licence states that one cannot distribute any integration code to third parties, this is very restrictive IMHO… Ok, I dont’s have access to Windows sources, but I still can write programs running on Windows and show them to others, while this is oppossite way to VS.

    Is this going to be changed? What is the direction of VS as a platform with regards to licensing?

  2. Aaron Marten says:

    Hey Kamil,

    I passed your feedback along to the Program Managers in charge of the VSIP partner program. They’re working on licensing for VSIP going forward and will take your feedback into consideration.

    Thanks!

    Aaron

  3. You forgot one: Visual Studio .NET Root Designers. I haven’t seen too many of those.

    We (VG.net devs) think VS is a great generic IDE platform. In the past I worked on vector graphics systems that had their own IDE, with an integrated scripting system. With VS.net we were able to reverse that, providing the graphics system and designer only, and letting VS.net handle all the coding, debugging, and IDE issues. By producing classes instead of data files in designers, component based development becomes natural.

Skip to main content