我已按照漫游(http://msdn.microsoft.com/en-us/library/bb166360.aspx)中列出的步骤来实施和注册LanguageService,但我无法让它工作。
我的包正确加载,我可以添加功能菜单项和选项页,但我无法打开注册到我的服务的文件。当我附加一个调试器时,我可以看到我的VSPackage被构造,加载,并且它的FDoIdle方法被调用了两次。在那之后,实验性的Visual Studio会话进入杂草并且似乎陷入无限循环。如果我尝试将.txt文件保存为我的文件类型,则文件会正确保存,但不会在Visual Studio中加载,我会收到Object null异常。
我可以在这个问题中看到我提到的问题:Visual studio 2010 colourizers, intellisense and the rest. Where to start!
解决方案似乎是不使用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,现在我可以打开我的文件类型。我的简单扫描仪甚至还有工作语法着色!
答案 0 :(得分:6)
问题解决了!:
我做了一些进一步的调试,发现实验性的Visual Studio实例一直在反复调用以下内容:
Microsoft.VisualStudio.Editor.Implementation.VsFontsAndColorsInformation.TryGetIndexForNativeItem(String name,IVsColorTable colorTable,Int32& colorTableIndex)
在预感中,我在ProvideLanguageServiceAttribute中将RequestStockColors参数指定为true,现在我可以打开我的文件类型。我的简单扫描仪甚至还有工作语法着色!