The right approach to exposing code in the IDE (i.e. NOT the VS way!)
Every since the
CodeDom saw the day of light, I've been wondering when it'll be the time that VS throws away the ugly vb-like CodeModel and fully embrace the CodeDom for representing .NET code inside the IDE. Looks like at least
one other company is
doing what I believe is the right thing.
While I don't like the way they mix static members to access IDE features with IServiceProvider-based service retrieval (see the example that accesses
BorlandIDE.ModuleServices.CurrentModule and then calls
CurrentModule.GetService(typeof(IOTACodeDomProvider))), an obvious inconsistency, I love the idea of doing addins/VSIP packages that can play with/refactor code using CodeDom... Now I only have finish my
radically different to that alternative to generating CodeDom, and coupled with the
MsilCodeProvider you can kiss Reflection.Emit bye bye!!!