I've been combing through the Visual Studio 2008 SDK looking for cool stuff to highlight at DevLink. There's plenty to show off in the SDK, but I'm smitten by the Iron Python Integration sample. This is an example of total language integration.
It's nice to see all the ideas about VS Packages demonstrated in one place. I learn best by taking working things apart. This is a great resource to pick apart. Because it is such an extensive sample, including such features as project integration, language service, the documentation is particularly helpful as a map.
Every sample in the SDK has an excellent summary in the SDK browser which points in the right direction before you even open the code and start reading comments. Here's an example from the IronPythonProject sample:
PythonProject.cs Contains three classes related to the IronPython Project: the package, the project factory, and the project node. Automation.cs Contains a number of classes that enables automation of the IronPython project and py files in the Iron Python Project. Especially the project object enables the CodeModel ConfigurationPropertyPages.cs Contains a defintion for the build property page in the Project Designer. EditorFactory.cs Contains a definition for the editor factory that creates the editor for editting iron python code files in code/design view
PythonProject.cs
Contains three classes related to the IronPython Project: the package, the project factory, and the project node.
Automation.cs
Contains a number of classes that enables automation of the IronPython project and py files in the Iron Python Project. Especially the project object enables the CodeModel
ConfigurationPropertyPages.cs
Contains a defintion for the build property page in the Project Designer.
EditorFactory.cs
Contains a definition for the editor factory that creates the editor for editting iron python code files in code/design view
These descriptions make me want to dive in and see how it all works. Unfortunately that's too much detail for my DevLink session.
If you work with Visual Studio regularly, you will benefit from learning about the inner workings of the tool. Grab a copy of the SDK and take a look. If you are at DevLink this week, come by and I'll try to convince you that Visual Studio Extensibility is worth your time.
++Alan