I want to develop support in Visual Studio for a particular language. MPF language services and MEF editor extensions seem to have an awful lot of overlap, and I have not been able to get a clear answer on which one I should be using.
I am only interested in developing this language support in Visual Studio 2012 and later. I am working in C# and wish to use managed APIs only.
The MSDN documentation states that syntax highlighting should be done with a language service. But then when you go to the documentation there, there's a note that arguably is suggesting to use MEF. But when you read the MEF documentation, it doesn't really specify that it is designed to handle full-file syntax highlighting; the wording makes me feel like it is intended for interspersed highlight adornments.
On the contrary to this, however, the Ook! sample demonstrates what I believe is full-file syntax highlighting, though with a sample of that scale, it's not very clear if it is actually suggesting that it should be used that way.
MPF language services seems to have support for adding a filter to the Save As dialog. I haven't seen anything like this for a language that is only supported through MEF, but I might have missed it. I haven't found any indication that either of them support adding a file type filter to the Open dialog. This suggests to me that MEF editor extensions are not intended to implement full scale language extensions so much as they are intended to extend existing ones.
Any thoughts, please?
EDIT:
Some questions that I'm hoping you can answer directly:
Is the MEF editor extension point for highlighting intended for full-file syntax highlighting implementation, or is it intended for interspersed adornments only?
If I have a FileType and a ContentType registered for MEF Export, what additional steps are necessary (or is it even possible?) to cause an associated file filter to show up in the various file dialogs?
Are MEF editor extension points intended to replace and potentially eventually deprecate MPF language services?