3

我已按照演练 ( 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。从哪儿开始!

解决方案似乎是不使用托管包框架,而是使用管理可扩展性框架。这很好,但我真的很想知道我的 MPF LanguageService 实现有什么问题。

有没有人使用 MPF 成功创建了 LanguageService?谁能指导我一个工作示例或演练?

问题解决了!:

我做了一些进一步的调试,并注意到实验性的 Visual Studio 实例反复调用以下内容时卡住了:

Microsoft.VisualStudio.Editor.Implementation.VsFontsAndColorsInformation.TryGetIndexForNativeItem(字符串名称,IVsColorTable colorTable,Int32& colorTableIndex)

凭直觉,我在 ProvideLanguageServiceAttribute 中将 RequestStockColors 参数指定为 true,现在我可以打开我的文件类型。我的简单扫描仪甚至可以使用语法着色!

4

1 回答 1

6

问题解决了!:

我做了一些进一步的调试,并注意到实验性的 Visual Studio 实例反复调用以下内容时卡住了:

Microsoft.VisualStudio.Editor.Implementation.VsFontsAndColorsInformation.TryGetIndexForNativeItem(字符串名称,IVsColorTable colorTable,Int32& colorTableIndex)

凭直觉,我在 ProvideLanguageServiceAttribute 中将 RequestStockColors 参数指定为 true,现在我可以打开我的文件类型。我的简单扫描仪甚至可以使用语法着色!

于 2011-05-04T11:33:08.650 回答