What is the hardcore way of extending Visual Studio: VSIP.
And what are the first things that come to mind when you think of “VSIP”: expensive and obscure. Expensive because it used to be 10k/year and obscure because its COM roots and it’s very poor (close to inexistent) documentation.
You tell me how do you build a huge community around expensive and obscure? You just simple can’t. I believe the past years were more than enough to prove this.
So, someone at Microsoft realized about this fact and VSX was created. A new name is always a good thing; better yet if it is a TLA and begins or ends with ‘X’, you can hardly beat that :-)
What VSX is about (besides the cool name)? The official word won’t tell much but this is what I’m noticing: new useful samples in the VSSDK using managed code and improved documentation (or at least, part of it). The samples source code is still a good place where to find code comments that will give you much more information than what the docs will tell you.
Can you build a community around VSX? Although this is surely an improvement over expensive and obscure, IMO, this is still not enough.
Because all of the “obscure” it’s still there. Because you still need to mess with COM interfaces all the time and the versioning craziness like “IVsComponentEnumeratorFactory3” and native structures and enumerations that were coded when naming like “__VSMEPROPID2. VSMEPROPID_LAST2” made any sense. Let alone the VBisms you can find in today’s DTE automation layer (like indexes starting at 1 instead of 0, etc). Also, I don’t want 45 different and incompatible ways of doing the same thing.
It is 2007 now. I want a nice and clean OO framework that I could proudly look at without my eyes being hurt and that I can confidently build upon it.
Enough criticism now and let’s add some constructiveness to this post.
What needs to be done?
1) Ideally: give me a new and fully managed IDE. Get your internal teams to rewrite their packages against this new IDE. Get your partners up to speed too. Even if you need to name this thing “Visual Studio 2011” I’m still fine with it.
2) Give me a Visual Studio Framework (think of MPF on steroids). This framework should totally abstract me from the fact of knowing what’s going on at the metal level. Not a single trace of COM or VB automation, just clean and simple OO code I could code against.
I can’t really see a huge Visual Studio community taking off and growing exponentially without either 1) or 2) in place.