我已经看到很多用于插入自定义应用程序的MEF代码,但我还没有找到如何使用MEF为VS2010编写插件.我的印象是新IDE支持这一点.
有没有人知道这是否支持'开箱即用',还是需要安装.有没有人有任何链接,提示等让我入门.
我已经按照步骤(http://msdn.microsoft.com/en-us/library/bb166360.aspx)中列出的步骤来实现和注册LanguageService,但我根本无法使用它.
我的包正确加载,我可以添加功能菜单项和选项页,但我无法打开注册到我的服务的文件.当我附加一个调试器时,我可以看到我的VSPackage被构造,加载,并且它的FDoIdle方法被调用了两次.在那之后,实验性的Visual Studio会话进入杂草并且似乎陷入无限循环.如果我尝试将.txt文件保存为我的文件类型,则文件会正确保存,但不会在Visual Studio中加载,我会收到Object null异常.
我可以看到我在这个问题中提到的问题:Visual Studio 2010着色剂,智能感知和其他.从哪儿开始!
解决方案似乎是不使用Managed Package Framework而是使用Manage Extensibility Framework.这很好,但是我真的很想知道我的MPF语言服务实现有什么问题.
有没有人使用MPF成功创建了LanguageService?任何人都可以指导我一个工作示例或演练吗?
问题解决了!:
我做了一些进一步的调试,并注意到实验性的Visual Studio实例被卡住后重复调用:
Microsoft.VisualStudio.Editor.Implementation.VsFontsAndColorsInformation.TryGetIndexForNativeItem(String name,IVsColorTable colorTable,Int32&colorTableIndex)
在预感中,我在ProvideLanguageServiceAttribute中将RequestStockColors参数指定为true,现在我可以打开我的文件类型.我的简单扫描仪甚至还有工作语法着色!