The right approach to exposing code in the IDE (i.e. NOT the VS way!)
Note: this entry has moved.
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!!!