First, the background:
The Feature Cook-off was Wed at 8:30AM. Tue morning I was in a panic because I couldn't find some critical information in order to use the Whidbey Manaed Package Framework's Language Service. The wireless (& wired) network at TechEd is great, but bandwidth is at a premium and when lots of people are getting on the network it gets very slow. Add to that the VPN into Microsoft's Redmond Campus and things were hopeless. I desperately needed some stuff from back in Redmond and without it maybe hiding would've been better than to try to do the cook-off and fail miserably!
Rusty saved me by zipping up the files for me and then emailing them. Thanks Rusty!
I had hoped to get some time on Tue evening to finish my research, but one thing lead to another and the VSIP marketing folks had an event until 9:00PM.
Back at the hotel, I start at 9:00PM on my Language Service research and finish it up at 2:00AM Wed.
By 5:00AM I'd finished researching some DTE build events issues and wiring up SoftwareFX's free chart control.
3.5 hours to go 'til the cookoff and I'm dead tired, but falling asleep at 5:00AM is a sure recipe (pun intended) for disaster since I figure I'll sleep right through any alarm. So I stay up.
Wed 8:30AM our cook-off starts. A healthy size audience is eager to see some features and to ask a lot of questions. They were given some choices and ended up chossing the following:
- Appetizer: Addin Designer - (Craig Skibo)
- Entree: Regular Expression Language Service - (Yours truly)
- Dessert: Source Code Annotation - (Chetan Parmar)
The Add-in Designer feature was finished first and Craig demo'd it for the crowd.
I was next in line to demo at the end of the hour and 15 minutes we were given to code the solution. Down to the last seconds I had bugs, but worked them all out just in time. I demo'd a file with capital letters displayed in a different color. I then added a new regular expression pattern for lowercase letters and it worked like a champ!
Chetan's demo ran into a few snags with a buffer overrun issue that cause an AV. He was still able to demonstrate the menu functionality. Shortly after the cook-off was over, he figured it out and it's also working great now.
As soon as I find some time I plan to clean up the code (just to make sure the heat of the cook-off (pun intended) didn't let some defects slip in). When it is ready, I'll post it and I'll supply a post on my blog announcing the location.
As a result of my research you can look forward to more information about integrating Language Services into Visual Studio using VSIP. With the Whidbey Managed Package Framework, our base class is rich and extensible and onlhy a handful of methods need to be implemented.